1 条题解
-
9
水模拟
先将对局按照 B 队比 A 队多的球数排序,然后让 顺次去减即可
#include<bits/stdc++.h> using namespace std; struct sb{ int aq; int bq; }a[200005]; bool cmp(sb x,sb y){ return x.bq-x.aq<y.bq-y.aq; } int n,m,ans=0; int main(){ //freopen("starship.in","r",stdin); //freopen("starship.out","w",stdout); cin>>n>>m; for(int i=1;i<=n;i++) cin>>a[i].aq>>a[i].bq; sort(a+1,a+n+1,cmp); for(int i=1;i<=n;i++){ if(a[i].aq>a[i].bq) continue; else{ if(a[i].bq-a[i].aq+1<=m){ m-=(a[i].bq-a[i].aq+1); a[i].aq+=(a[i].bq-a[i].aq+1); }else if(a[i].bq-a[i].aq==m){ m=0; a[i].aq=a[i].bq; break; }else break; } } for(int i=1;i<=n;i++){ if(a[i].aq>a[i].bq) ans+=3; else if(a[i].aq==a[i].bq) ans++; } cout<<ans; return 0; }
信息
- ID
- 781
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- (无)
- 递交数
- 121
- 已通过
- 16
- 上传者