제출 #1208418

#제출 시각아이디문제언어결과실행 시간메모리
1208418emptypringlescanAnts and Sugar (JOI22_sugar)C++17
6 / 100
4083 ms2780 KiB
#include <bits/stdc++.h> using namespace std; int32_t main(){ ios::sync_with_stdio(0); cin.tie(0); int q; long long l; cin >> q >> l; vector<pair<long long,long long> > arr[2]; while(q--){ int cmd; cin >> cmd; if(cmd==1){ long long x,a; cin >> x >> a; arr[0].push_back({x,a}); } else{ long long x,a; cin >> x >> a; arr[1].push_back({x,a}); } if(arr[0].empty()||arr[1].empty()){ cout << 0 << '\n'; continue; } sort(arr[0].begin(),arr[0].end()); sort(arr[1].begin(),arr[1].end()); int c1=0,c2=0; long long ans=0; long long l1=0,l2=0; while(c1<(int)arr[0].size()&&c2<(int)arr[1].size()){ while(c1<(int)arr[0].size()&&c2<(int)arr[1].size()){ if(arr[0][c1].first<arr[1][c2].first-l) c1++,l1=0; else if(arr[1][c2].first<arr[0][c1].first-l) c2++,l2=0; else if(arr[0][c1].second-l1<=0) c1++,l1=0; else if(arr[1][c2].second-l2<=0) c2++,l2=0; else break; } if(c1>=(int)arr[0].size()||c2>=(int)arr[1].size()) break; long long x=min(arr[0][c1].second-l1,arr[1][c2].second-l2); ans+=x; l1+=x; l2+=x; } cout << ans << '\n'; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...