Submission #27749

# Submission time Handle Problem Language Result Execution time Memory
27749 2017-07-13T19:04:40 Z zoomswk Gondola (IOI14_gondola) C++14
55 / 100
56 ms 7484 KB
#include "gondola.h"
#include <bits/stdc++.h>
using namespace std;

map<int, int> occ;

int valid(int n, int inputSeq[]){
    for(int i=0; i<n; i++){
        inputSeq[i]--;
        if(occ[inputSeq[i]]) return 0;
        occ[inputSeq[i]] = 1;
    }
    int must = -1;
    for(int i=0; i<n; i++) if(inputSeq[i] < n) must = i;
    if(must == -1) return 1;
    for(int i=0; i<n; i++) if(inputSeq[i] < n && (inputSeq[i]+n+must-i)%n != inputSeq[must]) return 0;
    return 1;
}

//----------------------

int replacement(int n, int gondolaSeq[], int replacementSeq[]){
    int inputSeq[100005];
    for(int i=0; i<n; i++) gondolaSeq[i]--;
    int must = -1;
    for(int i=0; i<n; i++) if(gondolaSeq[i] < n) must = i;
    if(must == -1){
        for(int i=0; i<n; i++) inputSeq[i] = i;;
    } else{
        int cur = gondolaSeq[must];
        for(int i=must-1; i>=0; i--){
            cur--;
            if(cur < 0) cur += n;
            inputSeq[i] = cur;
        }
        cur = gondolaSeq[must];
        for(int i=must+1; i<n; i++){
            cur++;
            if(cur >= n) cur -= n;
            inputSeq[i] = cur;
        }
    }
    priority_queue<pair<int, int>> pq;
    for(int i=0; i<n; i++) if(gondolaSeq[i] >= n) pq.push({-gondolaSeq[i], i});
    int ptr = n-1;
    int sz = 0;
    while(!pq.empty()){
        int num = -pq.top().first;
        int pos = pq.top().second;
        pq.pop();
        while(ptr < num){
            replacementSeq[sz++] = inputSeq[pos]+1;
            inputSeq[pos] = ++ptr;
        }
    }
    return sz;
}

//----------------------

int countReplacement(int n, int inputSeq[]){
  return -3;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 3392 KB Output is correct
2 Correct 0 ms 3392 KB Output is correct
3 Correct 0 ms 3392 KB Output is correct
4 Correct 0 ms 3392 KB Output is correct
5 Correct 0 ms 3392 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 3392 KB Output is correct
2 Correct 0 ms 3392 KB Output is correct
3 Correct 0 ms 3392 KB Output is correct
4 Correct 0 ms 3392 KB Output is correct
5 Correct 0 ms 3392 KB Output is correct
6 Correct 13 ms 5108 KB Output is correct
7 Correct 9 ms 3392 KB Output is correct
8 Correct 26 ms 6692 KB Output is correct
9 Correct 6 ms 4448 KB Output is correct
10 Correct 39 ms 7352 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 3392 KB Output is correct
2 Correct 0 ms 3392 KB Output is correct
3 Correct 0 ms 3392 KB Output is correct
4 Correct 0 ms 3392 KB Output is correct
5 Correct 0 ms 3392 KB Output is correct
6 Correct 13 ms 5108 KB Output is correct
7 Correct 9 ms 3392 KB Output is correct
8 Correct 26 ms 6692 KB Output is correct
9 Correct 6 ms 4448 KB Output is correct
10 Correct 36 ms 7352 KB Output is correct
11 Correct 0 ms 3392 KB Output is correct
12 Correct 0 ms 3392 KB Output is correct
13 Correct 19 ms 5108 KB Output is correct
14 Correct 0 ms 3392 KB Output is correct
15 Correct 56 ms 7484 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 3660 KB Output is correct
2 Correct 0 ms 3656 KB Output is correct
3 Correct 0 ms 3656 KB Output is correct
4 Correct 0 ms 3660 KB Output is correct
5 Correct 0 ms 3656 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 3660 KB Output is correct
2 Correct 0 ms 3660 KB Output is correct
3 Correct 0 ms 3660 KB Output is correct
4 Correct 0 ms 3656 KB Output is correct
5 Correct 0 ms 3656 KB Output is correct
6 Correct 0 ms 3656 KB Output is correct
7 Correct 0 ms 3656 KB Output is correct
8 Correct 0 ms 3660 KB Output is correct
9 Correct 0 ms 3660 KB Output is correct
10 Correct 0 ms 3660 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 3656 KB Output is correct
2 Correct 0 ms 3660 KB Output is correct
3 Correct 0 ms 3656 KB Output is correct
4 Correct 0 ms 3660 KB Output is correct
5 Correct 0 ms 3660 KB Output is correct
6 Correct 0 ms 3656 KB Output is correct
7 Correct 0 ms 3652 KB Output is correct
8 Correct 0 ms 3660 KB Output is correct
9 Correct 0 ms 3656 KB Output is correct
10 Correct 0 ms 3656 KB Output is correct
11 Correct 9 ms 3656 KB Output is correct
12 Correct 9 ms 3660 KB Output is correct
13 Correct 16 ms 4128 KB Output is correct
14 Correct 9 ms 3656 KB Output is correct
15 Correct 19 ms 4128 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 3392 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 3392 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 3392 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 3392 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -