Submission #693190

#TimeUsernameProblemLanguageResultExecution timeMemory
693190NemanjaSo2005Carnival Tickets (IOI20_tickets)C++14
27 / 100
468 ms69248 KiB
#include<bits/stdc++.h> #include "tickets.h" #define ll long long using namespace std; ll N,M,K,koliko[1505][1505],p1[1505],p2[1505],suma[1505]; struct sslog{ int vred,i,j; }sniz[1505]; bool spov(sslog a,sslog b){ return a.vred<b.vred; } struct slog{ ll v2,v1,suma; int i,j1,j2; } niz[1505]; bool cmp(slog a,slog b){ if(a.v1+a.v2<b.v1+b.v2) return true; if(a.v1+a.v2>b.v1+b.v2) return false; return a.suma>b.suma; } vector<vector<int>> kako; ll find_maximum(int k,vector<vector<int>> d){ kako=d; for(int i=0;i<kako.size();i++) for(int j=0;j<kako[i].size();j++) kako[i][j]=-1; K=k; N=d.size(); M=d[0].size(); for(int i=1;i<=N;i++) for(int j=1;j<=M;j++){ koliko[i][j]=d[i-1][j-1]; suma[i]+=koliko[i][j]; } /*if(M==1){ for(int i=1;i<=N;i++){ sniz[i].vred=koliko[i][1]; sniz[i].i=i-1; sniz[i].j=1-1; } sort(sniz+1,sniz+1+N,spov); ll res=0; for(int i=1;i<=N/2;i++){ res-=sniz[i].vred; // cout<<"- "<<niz[i].vred<<endl; kako[sniz[i].i][sniz[i].j]=0; } for(int i=N/2+1;i<=N;i++){ //cout<<"+ "<<niz[i].vred<<endl; kako[sniz[i].i][sniz[i].j]=0; res+=sniz[i].vred; } //cout<<res<<endl; allocate_tickets(kako); return res; }*/ for(int i=1;i<=N;i++){ p1[i]=1; p2[i]=M; } ll res=0; for(int dan=0;dan<K;dan++){/* for(int i=1;i<=N;i++) cout<<p1[i]<<" pok "<<p2[i]<<endl;*/ for(int i=1;i<=N;i++){ niz[i].v1=koliko[i][p1[i]]; niz[i].v2=koliko[i][p2[i]]; niz[i].j1=p1[i]-1; niz[i].j2=p2[i]-1; niz[i].suma=suma[i]; niz[i].i=i-1; } sort(niz+1,niz+1+N,cmp); //for(int i=1;i<=N;i++) // cout<<niz[i].v1<<" "<<niz[i].v2<<endl; for(int i=1;i<=N/2;i++){ res-=niz[i].v1; suma[niz[i].i+1]-=niz[i].v1; p1[niz[i].i+1]++; kako[niz[i].i][niz[i].j1]=dan; } for(int i=N/2+1;i<=N;i++){ res+=niz[i].v2; suma[niz[i].i+1]-=niz[i].v2; p2[niz[i].i+1]--; //cout<<niz[i].i<<endl; kako[niz[i].i][niz[i].j2]=dan; } } allocate_tickets(kako); return res; }

Compilation message (stderr)

tickets.cpp: In function 'long long int find_maximum(int, std::vector<std::vector<int> >)':
tickets.cpp:26:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   26 |    for(int i=0;i<kako.size();i++)
      |                ~^~~~~~~~~~~~
tickets.cpp:27:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   27 |       for(int j=0;j<kako[i].size();j++)
      |                   ~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...