Submission #518409

# Submission time Handle Problem Language Result Execution time Memory
518409 2022-01-23T17:18:36 Z Plurm Carnival Tickets (IOI20_tickets) C++17
16 / 100
2095 ms 73192 KB
#include "tickets.h"
#include <bits/stdc++.h>
using namespace std;

long long find_maximum(int k, vector<vector<int>> x) {
	int n = x.size();
	int m = x[0].size();
	vector<vector<int>> answer;
	for (int i = 0; i < n; i++) {
		vector<int> row(m);
		for (int j = 0; j < m; j++) {
			row[j] = -1;
		}
		answer.push_back(row);
	}
  long long ans = 0ll;
  for(int t = 0; t < k; t++){
    for(int i = 0; i < n; i++){
      int mxcol = -1;
      int mx = -1;
      for(int j = 0; j < m; j++){
        if(answer[i][j] == -1 && x[i][j] > mx){
          mx = x[i][j];
          mxcol = j;
        }
      }
      answer[i][mxcol] = t;
      ans += mx;
      //cout << t << " add " << mx << endl;
    }
    set<int> remrows;
    for(int rem = 0; rem < n/2; rem++){
      int mndiff = 2e9+1;
      int mxdiffrow = -1;
      for(int i = 0; i < n; i++){
        if(remrows.count(i) == 0){
          int mx = -1;
          int mn = 1e9+1;
          for(int j = 0; j < m; j++){
            if(answer[i][j] == -1 && x[i][j] < mn){
              mn = x[i][j];
            }else if(answer[i][j] == t){
              mx = x[i][j];
            }
          }
          if(mx + mn < mndiff){
            mndiff = mx + mn;
            mxdiffrow = i;
          }
        }
      }
      remrows.insert(mxdiffrow);
      int mxcol = -1;
      int mncol = -1;
      int mn = 1e9+1;
      for(int j = 0; j < m; j++){
        if(answer[mxdiffrow][j] == -1 && x[mxdiffrow][j] < mn){
          mn = x[mxdiffrow][j];
          mncol = j;
        }else if(answer[mxdiffrow][j] == t){
          mxcol = j;
        }
      }
      answer[mxdiffrow][mxcol] = -1;
      answer[mxdiffrow][mncol] = t;
      ans -= mndiff;
      //cout << t << " rem " << rem << " : " << mndiff << endl;
    }
  }
	allocate_tickets(answer);
	return ans;
}
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 204 KB There is no ticket of color 0 on day 0
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
4 Correct 3 ms 428 KB Output is correct
5 Correct 33 ms 3164 KB Output is correct
6 Correct 2095 ms 73192 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 204 KB Contestant returned 5 while correct return value is 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 Incorrect 0 ms 204 KB There is no ticket of color 0 on day 0
2 Halted 0 ms 0 KB -