题解 | 小苯的比赛上分
小苯的比赛上分
https://www.nowcoder.com/practice/f5c52183dfb148489321f881239216c1
//活动地址: 牛客春招刷题训练营 - 编程打卡活动 #include<bits/stdc++.h> using namespace std; #define mod 1000000007 typedef long long ll; #define int long long inline ll read() // void int &n { ll s=0,f=1; char c=getchar(); while(c>'9'||c<'0') { if(c=='-') f=-1; c=getchar(); } while(c>='0'&&c<='9') { s=(s<<1)+(s<<3)+c-'0'; c=getchar(); } return s*f; } inline void write(int n) { if(n<0) { putchar('-'); n=-n; } if(n>10) write(n/10); putchar(n%10+'0'); } int jiechen(int n) { int sum = 1; for (int i = 2; i <= n; i++) sum = sum * i % mod; return sum % mod; } int qsm(ll a, ll p) { ll s=1; while(p) { if(p&1) s=s*a%mod; a=a*a%mod; } return s; } ll isprime(ll x) { if(x<2) return 0; for(int i=2;i<=x/i;i++) if(x%i==0) return 0; return 1; } bool cmp(int x, int y){ return x>y; } const int N=3e6+10; const int M =100000; void solve(){ int n,m; cin>>n>>m; // vector<int>a(n); // for(int i=0;i<n;i++)cin>>a[i]; // sort(a.begin(),a.end()); // 这个题的数据比较大 不知道我这样能不能过 其实就是处理+ 排序 就知道过不去 // 跟 最小值相关 第一要先 想到 堆 ! priority_queue<int,vector<int>,greater<int>>pq; int ma=0; for(int i=0;i<n;i++){ int x; cin>>x; pq.push(x); ma=max(ma,x); } for(int i=1;i<=m;i++){ int x; cin>>x; int mi = pq.top(); pq.pop(); mi+=x; if(mi>ma){ ma=mi; } pq.push(mi); cout<<ma<<"\n"; } } signed main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); int _=1; //cin>>_; while(_--) { solve(); } return 0; }