# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
302706 | arnold518 | Carnival Tickets (IOI20_tickets) | C++14 | 1186 ms | 97788 KiB |
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 "tickets.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
const int MAXN = 1500;
int N, M, K;
int A[MAXN+10][MAXN+10];
int P[MAXN+10], Q[MAXN+10];
int ans2[MAXN+10][MAXN+10];
ll ans;
int L[MAXN+10], R[MAXN+10], chk[MAXN+10];
ll find_maximum(int _K, vector<vector<int>> _X)
{
N=_X.size(); M=_X[0].size(); K=_K;
for(int i=1; i<=N; i++) for(int j=1; j<=M; j++) A[i][j]=_X[i-1][j-1];
for(int i=1; i<=N; i++) P[i]=0;
vector<pll> V;
for(int i=1; i<=N; i++) for(int j=1; j<=K; j++) V.push_back({A[i][j+M-K]+A[i][j], i});
sort(V.begin(), V.end());
for(int i=0; i<V.size()/2; i++) P[V[i].second]++;
for(int i=V.size()/2; i<V.size(); i++) Q[V[i].second]++;
for(int i=1; i<=N; i++) L[i]=1, R[i]=1;
for(int i=1; i<=K; i++)
{
vector<pii> V;
for(int j=1; j<=N; j++) V.push_back({Q[j]-R[j]-P[j]+L[j], j});
sort(V.begin(), V.end());
for(int j=1; j<=N; j++) chk[j]=0;
for(int j=0; j<N/2; j++) chk[V[j].second]=1;
for(int j=1; j<=N; j++)
{
if(!chk[j])
{
ans+=A[j][M-R[j]+1];
ans2[j][M-R[j]+1]=i;
R[j]++;
}
else
{
ans-=A[j][L[j]];
ans2[j][L[j]]=i;
L[j]++;
}
}
}
vector<vector<int>> answer;
answer=vector<vector<int>>(N, vector<int>(M));
for(int i=1; i<=N; i++) for(int j=1; j<=M; j++) answer[i-1][j-1]=ans2[i][j]-1;
allocate_tickets(answer);
return ans;
}
Compilation message (stderr)
# | 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... |