PAT 2021 9/11 第一题感觉挺简单的 但是一直是11分,求解释 #include<iostream> #define MaxN 100010 using namespace std; struct Node{ long long int add; int size; }E[MaxN]; int S[MaxN]; bool st[MaxN]; int N,M; int main(){ long long int num; scanf("%d%d",&N,&M); for(int i=0;i<N;i++){ scanf("%lld%d",&E[i].add,&E[i].size); if(i==0){ S[i]=E[i].size; }else{ S[i]=S[i-1]+E[i].size; } st[i]=false; } int j; for(int i=0;i<M;i++){ scanf("%lld",&num); bool success=false; for(j=0;j<N;j++){ if(S[j]>num){ st[j]=true; success=true; break; } } if(i!=0){ printf("\n"); } if(!success){ printf("Illegal Access"); }else{ long long int res; if(j>0){ res=E[j].add+(num-S[j-1])*4; }else if(j==0){ res=E[j].add+(num)*4; } printf("%lld",res); } } int cnt=0; for(int i=0;i<N;i++){ if(st[i]){ cnt++; } } printf("\n%d\n",cnt); return 0; } 第四题不会…没有复习过堆树什么的 …求讲解