【CODE[VS]】3020--猪八戒吃桃

版权声明:本文为博主原创文章,未经博主允许不得转载。 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;
}

猜你喜欢

转载自blog.csdn.net/qq_34072526/article/details/86564999