Submission #427898

# Submission time Handle Problem Language Result Execution time Memory
427898 2021-06-15T04:28:23 Z lakshith_ Carnival Tickets (IOI20_tickets) C++14
0 / 100
1 ms 332 KB
#include "tickets.h"
#include <bits/stdc++.h>

#define ll long long 
#define int long long 
#define what_is(a) cout << #a << " is " << a << "\n"

using namespace std;

ll diff(int val,vector<int> vec){
	ll r = 0;
	for(int a:vec){
		r += abs(a-val);
		//cout << abs(a-val) << " ";
	}
	//cout << "\n";
	return r;
}

struct node{
	int n;
	int MIN;
	int MAX;
	int minI;
	int maxI;
	bool what;
};

bool compare(node a,node b){
	return a.MIN+a.MAX < b.MIN+b.MAX;
}

long long find_maximum(signed k, std::vector<std::vector<signed>> x) {
	int n = x.size();
	int m = x[0].size();
	assert(k==1);
	int r = 0;
	vector<node> vec; 
	
	for(int i=0;i<n;i++){
		int MAX = -1,maxI=0;
		for(int j=0;j<m;j++)
			if(MAX<x[i][j])MAX=x[i][j],maxI=j;
		int MIN = INT_MAX,minI=0;
		for(int j=0;j<m;j++)
			if(MIN>x[i][j])MIN=x[i][j],minI=j;
		//cout << minI << " " << maxI << "\n";
		vec.push_back((node){i,MIN,MAX,minI,maxI,true});
		r+=MAX;
	}
	
	sort(vec.begin(),vec.end(),compare);
	for(int i=0;i<n/2;i++){
		r-=vec[i].MIN+vec[i].MAX;
		vec[i].what=false;
	}
	
	//assert(vec.size()==n);
	vector<vector<signed>> ans;
	for(int i=0;i<n;i++)
		ans.push_back(vector<signed>(m));
		
	for(int i=0;i<n;i++)
		for(int j=0;j<m;j++)
			ans[i][j] = -1;
			
	for(int i=0;i<n;i++)
		if(vec[i].what)ans[vec[i].n][vec[i].maxI]=0;
		else ans[i][vec[vec[i].n].minI]=0;
	allocate_tickets(ans);
	return r; 
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Incorrect 1 ms 204 KB There is no ticket of color 3 on day 0
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Incorrect 1 ms 204 KB There is multiple tickets of color 0 on day 0
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 1 ms 332 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 1 ms 332 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 1 ms 332 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 1 ms 332 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Incorrect 1 ms 204 KB There is no ticket of color 3 on day 0
3 Halted 0 ms 0 KB -