全RE求助

P1104 生日

:(
by him0715 @ 2022-07-17 21:01:04


您数组下表从 $0$ 开始的。 当您 ``sort(ans+1,ans+n+1,mycmp);`` 时不应该是数组 ``ans+1``
by AKNOI的梓钦 @ 2022-07-17 21:04:30


应该是 ``sort(ans,ans+n,mycmp);``
by AKNOI的梓钦 @ 2022-07-17 21:04:55


`sort(ans+1,ans+1+n,mycmp);` 你不是从0开始吗,为什么要+1
by panyanppyy @ 2022-07-17 21:05:21


[AC记录](https://www.luogu.com.cn/record/80009385) ~~记得关注~~
by AKNOI的梓钦 @ 2022-07-17 21:05:32


emmm,还是全wa ```cpp #include <bits/stdc++.h> using namespace std; struct student{ string name; int end,grade; char is_gan,is_xi; int lun; int id,money; }; bool mycmp(student a,student b){ if(a.id == b.id) return a.id > b.id; else return a.id<b.id; } int main(){ int n; cin>>n; student ans[n]; for(int i=0;i<n;i++){ cin>>ans[i].name>>ans[i].end>>ans[i].grade>>ans[i].is_gan>>ans[i].is_xi>>ans[i].lun; ans[i].id=i; } for(int i=0;i<n;i++){ if(ans[i].lun>=1){ if(ans[i].end>80){ ans[i].money+=8000; } } if(ans[i].end>85){ if(ans[i].grade>80){ ans[i].money+=4000; } } if(ans[i].end>90){ ans[i].money+=2000; } if(ans[i].is_xi=='Y'){ ans[i].money+=1000; } if(ans[i].grade>80){ ans[i].money+=850; } } sort(ans,ans+n,mycmp); cout<<ans[0].name<<endl; cout<<ans[0].money<<endl; int all=0; for(int i=0;i<n;i++)all+=ans[i].money; cout<<all<<endl; return 0; } ``` :(
by him0715 @ 2022-07-18 17:09:46


|