#include<iostream>
#include<cstdio>
using namespace std;
int main(){ //貌似代码里默认0元是surplus
int s,d,surplus;
while(scanf("%d%d",&s,&d)!=EOF){
bool flag = false;
if(s >= 4 * d){
flag = true;
}
else if(s < 4 * d && s >= 1.5*d){
surplus = 3 * s - 9 * d;
if(surplus < 0){
flag = true;
}
}
else if(s < 1.5 * d && d < 1.5 * s){
surplus = 6 * (s - d);
if(surplus < 0){
flag = true;
}
}
else if(d > 1.5 * s && d <= 4 * s){
surplus = 8 * s - 4 * d;
if(surplus < 0){
flag = true;
}
}
else if(d > 4 *s){
surplus = 10 * s - 2 * d;
if(surplus < 0){
flag = true;
}
}
if(flag){
printf("Deficit\n");
}
else{
printf("%d\n",surplus);
}
}
return 0;
}
#include<iostream>
#include<cstdio>
using namespace std;
int main(){ //貌似代码里默认0元是surplus
int s,d,surplus;
while(scanf("%d%d",&s,&d)!=EOF){
bool flag = false;
if(s >= 4 * d){
flag = true;
}
else if(s < 4 * d && s >= 1.5*d){
surplus = 3 * s - 9 * d;
if(surplus < 0){
flag = true;
}
}
else if(s < 1.5 * d && d < 1.5 * s){
surplus = 6 * (s - d);
if(surplus < 0){
flag = true;
}
}
else if(d > 1.5 * s && d <= 4 * s){
surplus = 8 * s - 4 * d;
if(surplus < 0){
flag = true;
}
}
else if(d > 4 *s){
surplus = 10 * s - 2 * d;
if(surplus < 0){
flag = true;
}
}
if(flag){
printf("Deficit\n");
}
else{
printf("%d\n",surplus);
}
}
return 0;
}
题目大意:
这道题的题意比较晦涩,我也是看了网上的翻译才懂(以后不这样了)
有个公司,每个月盈利Or亏损的金额都是固定的(盈利为s,亏损为d),给定s,d
已知一年中任意连续(consecutive)(这个条件还是很容易想当然的)5个月都是亏损的,问这一年总体看来是否可能盈利及可能盈利的最大值
思路:
为了同时满足任意连续的5个月的盈利为负且总收入尽可能的大,那么亏损的月应该尽可能的向后放
(证明: 为了满足任意5个consecutive months的总盈利为负,1-5、6-10的盈利都为负,
下面证明在同一组(5个)ss..s d...d(连续个d跟着连续个s可以使得总盈利尽可能的大)
首先,假设存在一个最优解a1a2...a12(ai = s or d , i = 1,2,...,12),使得总盈利达到最大可能值且满足任意consecutive 5 months的总盈利为负,由于s和d都是固定的
且必满足 s >= 4 * d, s < 4 * d && 2*s>3 *d,s < 1.5 * d && 3 * s >= 2 * d,3 * s < 2 * d && 4 * s >= d, 4 * s < d这几种情况之一
且由于上述是最优解,所以a1...a5的亏损值尽可能小,
以s<4*d&&2*s >3*d为例,则a1...a5中有一个s和4个d(若为5个d,那么将a1换为s仍符合题意且解更优; 同样的,若为2个s和3个d,那么与题意矛盾)
假设a1不是s而是d,那么s必在a2...a5中的某一个,互换s和d的位置,那么解不会变差,
所以a1..a5的最优解是sdddd,接着6-10也是从6开始往后考虑的开始
(其实任意性保证了最优子结构的合理性)
然后a11,a12则应选择一个s一个d(否则a7-a15总盈利为正)
what's special:
关于题意的理解:认为0是盈利...
(反正就两种理解,尝试一下也无妨)