Submission #929112

#TimeUsernameProblemLanguageResultExecution timeMemory
929112sondos225Hokej (COCI17_hokej)C++17
72 / 120
139 ms12756 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define fast ios_base::sync_with_stdio(0);cin.tie(NULL);cout.tie(NULL); #define pb push_back #define yes "YES" #define no "NO" #define bigg INT_MAX #define debug(x) cout<<(#x)<<" = " <<x<<endl; #define all(x) x.begin(),x.end() #define sz size() #define nn '\n' #define mms(x,y) memset(x,y,sizeof(x)) #define forr(i,j,n) for (int i=j; i<n; i++) #define forn(i,j,n) for (int i=j; i>n; i--) #define fi first #define se second #define la "LA" #define cinn(x,y) for(int i=0; i<y; i++) cin>>x[i]; #define pii pair<int,int> #define tii tuple<int,int,int> bool cmp(tii a, tii b) { if (get<0>(a)==get<0>(b)) return get<1>(a)>get<1>(b); return get<0>(a)>get<0>(b); } bool cp(tii a, tii b) { // if (get<1>(a)==get<1>(b)) return get<0>(a)>get<0>(b); return get<0>(a)<get<0>(b); } signed main() { // #ifndef LOCAL // freopen("helpcross.in","r",stdin); // freopen("helpcross.out","w", stdout); // #endif fast int m,n; cin>>m >>n; tii a[n]; forr(i,0,n) { cin>>get<0>(a[i]) >>get<1>(a[i]); get<2>(a[i])=i+1; } sort(a,a+n,cmp); int tt=m*6; int sm=0; vector<tii> b; int ans=0; forr(i,0,n) { sm+=(get<1>(a[i])); b.pb(a[i]); if (sm>=tt) { int x=sm-(get<1>(a[i])); x=tt-x; ans+=(get<0>(a[i])*x); break; } ans+=(get<0>(a[i])*get<1>(a[i])); } // sort(all(b),cp); int cr=1; int tim=0; bool f=0; int team[7]={ }; vector<tii> v; forr(i,0,b.sz) { int q=get<0>(b[i]), t=get<1>(b[i]), x=get<2>(b[i]); if (f==0) { team[cr]=x; // cr++; tim+=t; } else { get<2>(v.back())=x; //cout<<x<<nn; tim+=t; f=0; } if (tim==m) { f=0; cr++; tim=0;} else if (tim>m) { // f=0; cr++; // tim=0; //ybd2 tim-=m; if (cr<=6) {team[cr]=x; v.pb({tim,x,0});} else break; //cout<<tim<<' '<<x<<' '; f=1; } else { v.pb({tim,x,0}); //cout<<tim<<' '<<x<<' '; f=1; } } cout<<ans<<nn; forr(i,1,7) cout<<team[i]<<' '; cout<<nn; cout<<v.sz<<nn; // if (v.sz>(3*n)) n/=0; sort(all(v),cp); forr(i,0,v.sz) { cout<<get<0>(v[i])<<' '<<get<1>(v[i])<<' '<<get<2>(v[i])<<nn; if (get<2>(v[i])==0) n/=0; } return 0; }

Compilation message (stderr)

hokej.cpp: In function 'int main()':
hokej.cpp:14:36: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::tuple<long long int, long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 | #define forr(i,j,n) for (int i=j; i<n; i++)
      |                                    ^
hokej.cpp:71:5: note: in expansion of macro 'forr'
   71 |     forr(i,0,b.sz)
      |     ^~~~
hokej.cpp:73:13: warning: unused variable 'q' [-Wunused-variable]
   73 |         int q=get<0>(b[i]), t=get<1>(b[i]), x=get<2>(b[i]);
      |             ^
hokej.cpp:14:36: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::tuple<long long int, long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 | #define forr(i,j,n) for (int i=j; i<n; i++)
      |                                    ^
hokej.cpp:116:5: note: in expansion of macro 'forr'
  116 |     forr(i,0,v.sz)
      |     ^~~~
hokej.cpp:119:31: warning: division by zero [-Wdiv-by-zero]
  119 |         if (get<2>(v[i])==0) n/=0;
      |                              ~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...