Submission #1293728

#TimeUsernameProblemLanguageResultExecution timeMemory
1293728activedeltorreAnts and Sugar (JOI22_sugar)C++20
6 / 100
4091 ms2732 KiB
#include <iostream> #include <vector> #include <algorithm> #pragma gcc optimize("O3,unroll-loops") using namespace std; signed main() { long long i,j,k,l,n,m,q,t,nr,poz; ios_base::sync_with_stdio(false); cin.tie(NULL); cin>>q>>l; vector<pair<long long,long long>>v1; vector<pair<long long,long long>>v2; for(long long z=1; z<=q; z++) { cin>>t>>nr>>poz; if(t==1) { v1.push_back({nr,poz}); for(long long i=v1.size()-2; i>=0; i--) { if(v1[i].first>v1[i+1].first) { swap(v1[i],v1[i+1]); } else { break; } } } else { v2.push_back({nr,poz}); for(long long i=v2.size()-2; i>=0; i--) { if(v2[i].first>v2[i+1].first) { swap(v2[i],v2[i+1]); } else { break; } } } long long total=0,st=0,cons=0,cons2=0; for(long long i=0; i<v1.size(); i++) { cons2=0; if(st<v2.size()) { while(v2[st].first<v1[i].first-l && st<v2.size()) { st++; cons=0; } if(st<v2.size()) { while(v2[st].first<=v1[i].first+l && st<v2.size()) { long long util=v2[st].second-cons; if(util>=v1[i].second-cons2) { cons+=v1[i].second-cons2; total+=v1[i].second-cons2; break; } else { cons2+=util; total+=util; st++; cons=0; } } } } } cout<<total<<'\n'; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...