2 条题解
-
0
本题模拟+贪心即可,仅需将能走的步数从大到小排序,然后按顺序取数直到超过“她”走的步数即可,若不能超过,则证明无解。注意初始化时“她”已经在格,还有不开longlong见祖宗
void solve(){ int n,x,y;cin>>n>>x>>y; vector<int> a(n+1); for(int i=1;i<=n;i++){ cin>>a[i]; } // 从大到小排序 sort(a.begin()+1,a.end(),greater()); ll sum=0,ta=x; ll ans=-1; for(int i=1;i<=n;i++){ sum+=a[i]; ta+=y; if(sum>=ta){ ans=i;break; } } cout<<ans<<endl; }
信息
- ID
- 1119
- 时间
- 2000ms
- 内存
- 512MiB
- 难度
- 9
- 标签
- 递交数
- 344
- 已通过
- 33
- 上传者