Submission #365279

#TimeUsernameProblemLanguageResultExecution timeMemory
365279valerikkCarnival Tickets (IOI20_tickets)C++17
0 / 100
1 ms364 KiB
#include "tickets.h"
#include <bits/stdc++.h>

#define ll long long

using namespace std;

int k;
ll x[1505][1505];
int n, m;

ll find_maximum(int kk, vector<vector<int>> xx) {
    n = (int)xx.size(), m = (int)xx[0].size();
    for (int i = 0; i < n; i++){
        for (int j = 0; j < m; j++) {
            x[i][j] = xx[i][j];
        }
    }
    k = kk;
    if(m==1) {
        vector<pair<ll, int>> v;
        for(int i = 0; i< n; i++) v.push_back({x[i][1], i});
        sort(v.begin(), v.end());
        ll res = 0;
        for(int i = 0;i < n/2;i++) res-=v[i].first;
        for(int i = n/2; i<n; i++) res+=v[i].first;
        vector<vector<int>> s(n, vector<int>(1));
        for(int i = 0; i < n; i++) s[i][0] = 0;
        allocate_tickets(s);
        return res;
    }
    if(k ==1) {
        ll res = 0;
        vector<vector<int>>s(n, vector<int>(m,-1));
        vector<pair<ll, int>> v;
        for(int i = 0; i < n; i++) v.push_back({x[i][m - 1] - x[i][0], i});
        sort(v.begin(), v.end());
        for(int i = 0; i<n;i++) res-=x[i][0];
        for(int i = 0; i < n / 2; i++) s[v[i].second][0] = 0;
        for(int i = n / 2; i < n; i++) s[v[i].second][m - 1] = 0;
        allocate_tickets(s);
        return res; 
    }
}

#ifdef LOCAL
int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    return 0;
}
#endif

Compilation message (stderr)

tickets.cpp: In function 'long long int find_maximum(int, std::vector<std::vector<int> >)':
tickets.cpp:44:1: warning: control reaches end of non-void function [-Wreturn-type]
   44 | }
      | ^
#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...