답안 #307229

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
307229 2020-09-27T12:08:58 Z VEGAnn 식물 비교 (IOI20_plants) C++14
14 / 100
694 ms 116728 KB
#include "plants.h"
#include <bits/stdc++.h>
#define PB push_back
#define sz(x) ((int)x.size())
using namespace std;
const int N = 5010;
const int oo = 2e9;
queue<int> q;
vector<int> vc, g[N];
int per[N], mrk[N], tt = 0;
bool sml[N][N];

void init(int k, vector<int> r) {
    int n = sz(r);

    for (int it = n - 1; it >= 0; it--){
        vc.clear();

        for (int i = 0; i < n; i++)
            if (r[i] == 0)
                vc.PB(i);

        int cand = -1;

        for (int it = 0; it < sz(vc); it++){
            int cur = vc[it];
            int pre = vc[(it + sz(vc) - 1) % sz(vc)];

            if (pre < cur){
                if (pre - cur + n < k){
                    cand = cur;
                    break;
                }
            } else {
                if (pre - cur < k){
                    cand = cur;
                    break;
                }
            }
        }

        per[cand] = it;
        r[cand] = oo;

        for (int i = 1, loc = cand; i < k; i++){
            loc = (loc + n - 1) % n;

            r[loc]--;

            if (r[loc] < oo / 2)
                g[cand].PB(loc);
        }

        for (int i = 1, loc = cand; i < k; i++){
            loc = (loc + 1) % n;

            if (r[loc] < oo / 2)
                g[cand].PB(loc);
        }
    }

//    for (int i = 0; i < n; i++){
//        tt++;
//
//        q.push(i);
//        mrk[i] = tt;
//
//        while (sz(q)){
//            int v = q.front(); q.pop();
//
//            sml[i][v] = 1;
//
//            for (int u : g[v])
//                if (mrk[u] < tt){
//                    mrk[u] = tt;
//                    q.push(u);
//                }
//        }
//    }

    return;
}

int compare_plants(int x, int y) {
//    if (sml[x][y]) return 1;
//    if (sml[y][x]) return -1;
//    return 0;
    return (per[x] > per[y] ? 1 : -1);
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 1 ms 384 KB Output is correct
3 Correct 1 ms 384 KB Output is correct
4 Runtime error 4 ms 896 KB Execution killed with signal 11 (could be triggered by violating memory limits)
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 1 ms 384 KB Output is correct
3 Correct 1 ms 384 KB Output is correct
4 Correct 1 ms 384 KB Output is correct
5 Correct 1 ms 512 KB Output is correct
6 Correct 24 ms 5120 KB Output is correct
7 Correct 594 ms 96376 KB Output is correct
8 Correct 2 ms 512 KB Output is correct
9 Correct 24 ms 5120 KB Output is correct
10 Correct 585 ms 96552 KB Output is correct
11 Correct 385 ms 64760 KB Output is correct
12 Correct 398 ms 65304 KB Output is correct
13 Correct 694 ms 116728 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 1 ms 384 KB Output is correct
3 Correct 1 ms 384 KB Output is correct
4 Correct 1 ms 384 KB Output is correct
5 Correct 1 ms 512 KB Output is correct
6 Correct 24 ms 5120 KB Output is correct
7 Correct 594 ms 96376 KB Output is correct
8 Correct 2 ms 512 KB Output is correct
9 Correct 24 ms 5120 KB Output is correct
10 Correct 585 ms 96552 KB Output is correct
11 Correct 385 ms 64760 KB Output is correct
12 Correct 398 ms 65304 KB Output is correct
13 Correct 694 ms 116728 KB Output is correct
14 Runtime error 60 ms 5880 KB Execution killed with signal 11 (could be triggered by violating memory limits)
15 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 5 ms 896 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 1 ms 384 KB Output is correct
3 Runtime error 5 ms 896 KB Execution killed with signal 11 (could be triggered by violating memory limits)
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 1 ms 384 KB Output is correct
3 Runtime error 5 ms 1024 KB Execution killed with signal 11 (could be triggered by violating memory limits)
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 1 ms 384 KB Output is correct
3 Correct 1 ms 384 KB Output is correct
4 Runtime error 4 ms 896 KB Execution killed with signal 11 (could be triggered by violating memory limits)
5 Halted 0 ms 0 KB -