Submission #354152

#TimeUsernameProblemLanguageResultExecution timeMemory
354152juggernautCarnival Tickets (IOI20_tickets)C++14
27 / 100
633 ms51564 KiB
#include"tickets.h"
#include<bits/stdc++.h>
#ifndef EVAL
#include"grader.cpp"
#endif
using namespace std;
long long find_maximum(int k,vector<vector<int>>x){
	int n=x.size();
	int m=x[0].size();
	vector<pair<int,int>>pt(n,{0,m-1});
	vector<vector<int>>answer(n,vector<int>(m,-1));
	long long res=0;
	int game_id=0;
	while(k--){
        vector<pair<int,int>>a;
        for(int i=0;i<n;i++)
            a.push_back({x[i][pt[i].first]+x[i][pt[i].second],i});
        sort(a.begin(),a.end());
        int i;
        for(i=0;i<(n>>1);i++){
            res-=x[a[i].second][pt[a[i].second].first];
            answer[a[i].second][pt[a[i].second].first]=game_id;
            pt[a[i].second].first++;
        }
        for(;i<n;i++){
            res+=x[a[i].second][pt[a[i].second].second];
            answer[a[i].second][pt[a[i].second].second]=game_id;
            pt[a[i].second].second--;
        }
        game_id++;
	}
    allocate_tickets(answer);
    return res;
}
#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...