Submission #419198

# Submission time Handle Problem Language Result Execution time Memory
419198 2021-06-06T14:18:25 Z qwerasdfzxcl Comparing Plants (IOI20_plants) C++14
14 / 100
4000 ms 3196 KB
#include "plants.h"
#include <bits/stdc++.h>

using namespace std;
typedef long long ll;
int n, a[200200];

void init(int k, vector<int> r) {
    n = r.size();
    set<int> st;
	for (int i=n;i;i--){
        int cnt = 0;
        for (int j=1;j<=k-1;j++) if (a[j]) cnt++;
        for (int j=0;j<n;j++){
            if (!a[j] && cnt==r[j]) st.insert(j);
            if (a[(j+1)%n]) cnt--;
            if (a[(j+k)%n]) cnt++;
        }
        if (st.size()==1){
            a[*(st.begin())] = i;
            st.erase(st.begin());
            continue;
        }
        assert(!st.empty());
        auto iter = st.begin();
        int prv = *iter;
        iter++;
        bool flag = 0;
        for(;iter!=st.end();iter++){
            if ((*iter)-prv>=k){
                flag = 1;
                a[*iter] = i;
                st.erase(iter);
                break;
            }
        }
        if (!flag){
            a[*(st.begin())] = i;
            st.erase(st.begin());
        }
	}
}

int compare_plants(int x, int y) {
    if (a[x]>a[y]) return 1;
    return -1;

}
# 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 Incorrect 1 ms 204 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 0 ms 204 KB Output is correct
5 Correct 1 ms 204 KB Output is correct
6 Correct 14 ms 332 KB Output is correct
7 Correct 346 ms 3180 KB Output is correct
8 Correct 2 ms 332 KB Output is correct
9 Correct 14 ms 368 KB Output is correct
10 Correct 351 ms 3092 KB Output is correct
11 Correct 580 ms 3140 KB Output is correct
12 Correct 337 ms 3196 KB Output is correct
13 Correct 355 ms 3088 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 0 ms 204 KB Output is correct
5 Correct 1 ms 204 KB Output is correct
6 Correct 14 ms 332 KB Output is correct
7 Correct 346 ms 3180 KB Output is correct
8 Correct 2 ms 332 KB Output is correct
9 Correct 14 ms 368 KB Output is correct
10 Correct 351 ms 3092 KB Output is correct
11 Correct 580 ms 3140 KB Output is correct
12 Correct 337 ms 3196 KB Output is correct
13 Correct 355 ms 3088 KB Output is correct
14 Execution timed out 4054 ms 2860 KB Time limit exceeded
15 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Incorrect 111 ms 3040 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Incorrect 0 ms 204 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Incorrect 1 ms 204 KB Output isn't correct
4 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 Incorrect 1 ms 204 KB Output isn't correct
5 Halted 0 ms 0 KB -