Submission #639012

#TimeUsernameProblemLanguageResultExecution timeMemory
639012inksamuraiHokej (COCI17_hokej)C++17
0 / 120
215 ms20476 KiB
#include <bits/stdc++.h> #define int ll using namespace std; #define rep(i,n) for(int i=0;i<n;i++) #define rng(i,c,n) for(int i=c;i<n;i++) #define per(i,n) for(int i=n-1;i>=0;i--) #define fi first #define se second #define pb push_back #define sz(a) (int)a.size() #define vec(...) vector<__VA_ARGS__> #define _3RhsN1z ios::sync_with_stdio(0),cin.tie(0) typedef long long ll; using pii=pair<int,int>; using vi=vector<int>; void print(){cout<<'\n';} template<class h,class...t> void print(const h&v,const t&...u){cout<<v<<' ',print(u...);} // e signed main(){ _3RhsN1z; int m,n; cin>>m>>n; using T=pair<int,pii>; vec(T) a(n); vec(pii) ina(n); rep(i,n){ cin>>a[i].fi>>a[i].se.fi; a[i].se.se=i; ina[i]={a[i].fi,a[i].se.fi}; } sort(a.begin(),a.end()); int k=0; vec(vec(pii)) rbts(6); while(k<6){ int now=0; while(now<m){ assert(sz(a)); T u=a.back(); a.pop_back(); int need=min(u.se.fi,m-now); rbts[k].pb({need,u.se.se}); u.se.fi-=need; now+=need; if(u.se.fi>0){ a.pb(u); } } sort(a.begin(),a.end()); k+=1; } int res=0; rep(i,6){ for(auto p:rbts[i]){ res+=p.fi*ina[p.se].fi; } } cout<<res<<"\n"; rep(i,6){ cout<<rbts[i][0].se+1<<" "; } vec(T) pns; rep(i,6){ int tm=0; rep(j,sz(rbts[i])-1){ tm+=rbts[i][j].fi; pns.pb({tm,{rbts[i][j].se,rbts[i][j+1].se}}); } } cout<<sz(pns)<<"\n"; for(auto tp:pns){ cout<<tp.fi<<" "<<tp.se.fi+1<<" "<<tp.se.se+1<<"\n"; } }
#Verdict Execution timeMemoryGrader output
Fetching results...