注:fjutoj基本每周都有一次周赛,欢迎大家都来参加!
网址:http://59.77.139.92/ 或 acm.fjut.edu.cn
A题
题意:一年中,每个月有可能亏x 元,有可能赚y 元,每连续的五个月加起来都亏钱,问一年最多赚多少钱,如果不能赚钱,输出"Deficit"。
思路:
贪心的思路,五个月中亏钱的月份放后面去,并且使得五个月加起来亏钱最少,因此共有4种情况:
x y y y y x y y y y x y
x x y y y x x y y y x x
x x x y y x x x y y x x
x x x x y x x x x y x x
用if判断一下即可
1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 #include<math.h> 5 #include<set> 6 #include<map> 7 #include<list> 8 #include<stack> 9 #include<queue> 10 #include<vector> 11 #include<string> 12 #include<iostream> 13 #include<algorithm> 14 using namespace std; 15 #define lson rt<<1 16 #define rson rt<<1|1 17 #define N 100010 18 #define M 100010 19 #define Mod 1000000007 20 #define LL long long 21 #define INF 0x7fffffff 22 #define FOR(i,f_start,f_end) for(int i=f_start;i<=f_end;i++) 23 #define For(i,f_start,f_end) for(int i=f_start;i<f_end;i++) 24 #define REP(i,f_end,f_start) for(int i=f_end;i>=f_start;i--) 25 #define Rep(i,f_end,f_start) for(int i=f_end;i>f_start;i--) 26 #define MT(x,i) memset(x,i,sizeof(x)) 27 #define gcd(x,y) __gcd(x,y) 28 const double PI = acos(-1); 29 30 int main() 31 { 32 int x,y; 33 while(scanf("%d%d",&x,&y)!=EOF) 34 { 35 if(x>=4*y) printf("Deficit\n"); 36 else if(2*x>3*y) 37 { 38 if(3*x<=9*y) printf("Deficit\n"); 39 else printf("%d\n",3*x-9*y); 40 } 41 else if(3*x>=2*y) 42 { 43 if(6*x<=6*y) printf("Deficit\n"); 44 else printf("%d\n",6*x-6*y); 45 } 46 else if(4*x>=y) 47 { 48 if(8*x<=4*y) printf("Deficit\n"); 49 else printf("%d\n",8*x-4*y); 50 } 51 else 52 { 53 if(10*x<=2*y) printf("Deficit\n"); 54 else printf("%d\n",10*x-2*y); 55 } 56 } 57 return 0; 58 }