제출 #1203691

#제출 시각아이디문제언어결과실행 시간메모리
1203691notme카니발 티켓 (IOI20_tickets)C++20
27 / 100
312 ms51408 KiB
#include "tickets.h"
#include <bits/stdc++.h>
#include <vector>
#define pb push_back
using namespace std;
int big[2002];
long long find_maximum(int k, std::vector<std::vector<int>> x)
{

    int n = x.size();
    int m = x[0].size();
    std::vector<std::vector<int>> answer;
    if(m == 1)
    {

        long long b;
        vector < long long > g;
        for (int i = 0; i < n; ++ i)
            g.pb(1LL * x[i][0]);
        sort(g.begin(), g.end());
        long long half1 = g[n/2];
        for (int i = 0; i < n; i++)
        {
            std::vector<int> row(m);
            for (int j = 0; j < m; j++)
            {
                row[j] = 0;
                /*if (j < k)
                {
                	row[j] = j;
                }
                else
                {
                	row[j] = -1;
                }*/
            }
            answer.push_back(row);
        }
        allocate_tickets(answer);
        long long ans = 0;
        for (auto x: g)
            ans += 1LL * abs(x - half1);
        return ans;
    }
    for (int i = 0; i < n; i++)
        {
            std::vector<int> row(m);
            for (int j = 0; j < m; j++)
            {
                row[j] = -1;

            }
            answer.push_back(row);
        }

    int fh = (n-2)/2, sh = (n-2)/2 + 1;
    long long sum = 0;
    vector < pair < long long, long long > > g;
    for (int i = 0; i < n; ++ i)
    {
        big[i] = 1;
        sum += x[i][m-1];
        g.pb(make_pair(x[i][m-1] + x[i][0], i));
    }
    sort(g.begin(), g.end());
    for (int i = 0; i < n/2; ++ i)
    {
        sum -= g[i].first;
        big[g[i].second] = 0;
    }
    for (int i = 0; i < n; ++ i)
    {
        if(big[i])answer[i][m-1] = 0;
        else answer[i][0] = 0;
    }
    allocate_tickets(answer);
    return sum;
}
#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...