답안 #832717

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
832717 2023-08-21T14:10:17 Z Jokubas 십자가 놓기 (FXCUP4_cross) C++17
63 / 100
1000 ms 30572 KB
#include <iostream>
#include <bits/stdc++.h>
#define pb push_back
typedef long long ll;

using namespace std;

ll SelectCross (int K, vector<int> I, vector<int> O)
{
    ll ats = 0;

    int N = I.size();

    map<int, vector<int>> lol;

    vector<pair<int, int>> visi;

    for(int i = 0; i<N; i++)
    {
        visi.pb({I[i], O[i]});

        lol[I[i]].pb(O[i]);
    }

    sort(visi.begin(), visi.end());
    reverse(visi.begin(), visi.end());

    int kiek = lol.size();

    int kur = 0;
    int isviso = 0;

    //vector<int> didziausi;
    deque<int> didziausi;

    for(int i = 0; i<kiek; i++)
    {
        int dabar = visi[kur].first;

        int kiekisI = lol[dabar].size();

        isviso += kiekisI;

        int k = 0;
        int j = 0;

        while(j < K && k < kiekisI)
        {
            if((int)didziausi.size() <= j)
            {
                didziausi.pb(visi[kur + k].second);
                j++; k++;
                continue;
            }

            /*if(visi[kur + k].second <= didziausi[min((int)didziausi.size()-1, K-1)])
            {
                j = min((int)didziausi.size()-1, K-1) + 1;
                continue;
            }*/

            if(visi[kur + k].second >= didziausi[j])
            {
                didziausi.insert(didziausi.begin() + j, visi[kur + k].second);
                k++;
            }
            j++;
        }

        if(isviso < K)
        {
            kur = isviso;
            continue;
        }

        ll plotas = (ll)dabar*(2*(ll)didziausi[K-1] - (ll)dabar);

        ats = max(ats, plotas);


        kur = isviso;
    }


    return ats;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 340 KB Output is correct
5 Correct 7 ms 1876 KB Output is correct
6 Correct 273 ms 26832 KB Output is correct
7 Correct 278 ms 26860 KB Output is correct
8 Correct 282 ms 26912 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 340 KB Output is correct
5 Correct 7 ms 1876 KB Output is correct
6 Correct 273 ms 26832 KB Output is correct
7 Correct 278 ms 26860 KB Output is correct
8 Correct 282 ms 26912 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 0 ms 212 KB Output is correct
11 Correct 1 ms 340 KB Output is correct
12 Correct 10 ms 1876 KB Output is correct
13 Correct 82 ms 13820 KB Output is correct
14 Correct 326 ms 30528 KB Output is correct
15 Correct 280 ms 30572 KB Output is correct
16 Correct 276 ms 30540 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 340 KB Output is correct
5 Correct 7 ms 1876 KB Output is correct
6 Correct 273 ms 26832 KB Output is correct
7 Correct 278 ms 26860 KB Output is correct
8 Correct 282 ms 26912 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 0 ms 212 KB Output is correct
11 Correct 1 ms 340 KB Output is correct
12 Correct 10 ms 1876 KB Output is correct
13 Correct 82 ms 13820 KB Output is correct
14 Correct 326 ms 30528 KB Output is correct
15 Correct 280 ms 30572 KB Output is correct
16 Correct 276 ms 30540 KB Output is correct
17 Correct 1 ms 212 KB Output is correct
18 Correct 2 ms 444 KB Output is correct
19 Correct 197 ms 2468 KB Output is correct
20 Execution timed out 1090 ms 15884 KB Time limit exceeded
21 Halted 0 ms 0 KB -