社区讨论

大佬们,请问这个题第五个测试点为什么过不去,谢谢

P1867【Mc生存】经验值参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@logkitoi
此快照首次捕获于
2023/11/02 10:29
2 年前
此快照最后确认于
2023/11/02 10:29
2 年前
查看原帖
CPP
#include<stdio.h>
int main()
{
    int n,i,j,k=1,answer=0,sum2=0;
    float a,b,sum1=0;
    scanf("%d",&n);//输入n
    for(i=0;i<n;i++)
    {
        scanf("%f %f",&a,&b);//输入两个数叫a,b
        sum1=sum1+a;//在一定范围内(满足上下条件)求a的和sum1
        if(sum1<0)//sum1出现负数,即10-sum1>10,让sum1=0
        sum1=0;
        if(sum1>=10)//sum1>=10,即10-sum1<=0,求sum的值
        {
            for(j=1;1;j++)
            {
                answer=answer+1;//等级
                sum2=sum2-k;//k为等级对应的经验
                if(sum2<0)
                    {
                        sum2=sum2+k;//<0就加回来k
                        answer=answer-1;//减去多加的1
                        break;
                    }
                k=2*k;//每级经验都要乘2
            }
            printf("%d %d",answer,sum2);
            return 0;
        }
        sum2=sum2+b;//求一定范围内b的总和sum2
    }
    printf("%d %d",answer,sum2);
    return 0;
}

回复

2 条回复,欢迎继续交流。

正在加载回复...