版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34072526/article/details/86564999
题目描述 Description
在高老庄猪八戒过着无忧无虑的生活,他有一棵桃树,原有n个桃子,他每天的桃数变为前一天的2倍,猪吃m天,每天吃p1,p2,p3…pm个桃,求若桃被猪吃完或不够吃,输出“-”加上他不够吃的那一天,若m天过了还有桃,输出剩下桃的个数(猪八戒先吃桃再长)
输入描述 Input Description
参见样例
输出描述 Output Description
参见样例
样例输入 Sample Input
输入样例1:
30 //n个桃
5 //猪吃5天
20 20 5 10 5
输入样例2:
60 //n个桃
4 //4天
20 30 40 110
样例输出 Sample Output
输出样例1:
-2 //第二天吃完
输出样例2:
20
//{剩20个(60-20)*2=80 (80-30)*2=100
(100-40)*2=120 (120-110)*2=20}
数据范围及提示 Data Size & Hint
数据范围:m<=1000 n<264 p1,p2,p3…pm<264
PASCAL 选手提示: 1: n,p1,p2,p3…pm用qword存储
2:读入一个处理一个
3:qword不可存储负数
代码
#include <cstdio>
using namespace std;
int main(){
unsigned long long int n,t;
int m,d;
scanf("%llu %d",&n,&m);
d=m;
while(m--){
scanf("%llu",&t);
n=(n-t)*2;
if(!(n>0)){
printf("-%d",d-m);
return 0;
}
}
printf("%llu",n);
return 0;
}