【PAT】B1060 爱丁顿数(25 分)


逻辑问题,对我来说还是挺有难度的,一开始想不通
我输入数据并以数据为下标,数据出现次数为内容存储
然后从后遍历计算所有大于当前下标的元素出现的次数
最后遍历一遍确定是否为爱丁顿数,如果大于当前已经找到的就替换,最后输出最大值

#include
#include
using namespace std;

int data[1000005]={0};

int main(){
    int N;scanf("%d",&N);
    for(int i=0;i=0;i--)                       //计算天数
        data[i]+=data[i+1];
    for(int i=1000003;i>=0;i--)                       //计算所有爱丁顿数
        data[i]= data[i]