This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
#include "tickets.h"
#define ll long long
using namespace std;
int N,M,K,koliko[1505][1505],p1[1505],p2[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;
int i,j1,j2;
} niz[1505];
bool cmp(slog a,slog b){
return a.v1+a.v2<b.v1+b.v2;
}
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];
/*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].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;
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;
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:22:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
22 | for(int i=0;i<kako.size();i++)
| ~^~~~~~~~~~~~
tickets.cpp:23:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
23 | for(int j=0;j<kako[i].size();j++)
| ~^~~~~~~~~~~~~~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |