Submission #752741

# Submission time Handle Problem Language Result Execution time Memory
752741 2023-06-03T14:44:50 Z adrilen Gondola (IOI14_gondola) C++17
25 / 100
10 ms 624 KB
#include "gondola.h"
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
typedef pair<int, int> pii;
constexpr int max_sub_1 = 2.5e5 + 5;

bool seen_sub_1[max_sub_1] = { 0 };
int valid(int n, int inputSeq[])
{
    auto it = min_element(inputSeq, inputSeq + n);

    int val = *it, pos = it - inputSeq;
    int start_pos = pos;

    while (pos != start_pos || val == *it)
    {
        if (inputSeq[pos] == val) 
        {
            val++, pos++;
            if (pos >= n) pos -= n;
            val = min(val, n);
            continue;
        }

        if (inputSeq[pos] > n)
        {
            if (seen_sub_1[inputSeq[pos]]) return 0;
            seen_sub_1[inputSeq[pos]] = true;
            val++, pos++;
            if (pos >= n) pos -= n;
            val = min(val, n);      
            continue;
        }

        return 0;
    }


 
    return 1;
}



int replacement(int n, int gondolaSeq[], int replacementSeq[])
{
    int min_val, min_pos;
    auto min_it = min_element(gondolaSeq, gondolaSeq + n);
    min_val = *min_it, min_pos = min_it - gondolaSeq;

    vector <pii> numbers;

    int val = min_val, pos = min_pos;
    int replacement_pos = 0;

    bool start = true;
    while (pos != min_pos || start)
    {
        start = false;
        if (gondolaSeq[pos] == val)
        {
            pos++, val++;
            if (pos >= n) pos -= n;
            if (val > n) val -= n;
        }

        if (gondolaSeq[pos] > n)
        {
            numbers.emplace_back(pii(gondolaSeq[pos], val));

            pos++, val++;
            if (pos >= n) pos -= n;
            if (val > n) val -= n;
        }
    }

    if (numbers.empty()) return 0;

    sort(numbers.begin(), numbers.end());

    int last_val = n;
    for (const pii &p : numbers)
    {
        replacementSeq[replacement_pos++] = p.second;
        last_val++;
        while (last_val < p.first) replacementSeq[replacement_pos++] = last_val++;
    }

    return replacement_pos;
}


int countReplacement(int n, int inputSeq[])
{
    return -3;
}
# Verdict Execution time Memory Grader output
1 Correct 1 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 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory 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 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 3 ms 340 KB Output is correct
7 Correct 7 ms 624 KB Output is correct
8 Correct 9 ms 468 KB Output is correct
9 Correct 2 ms 340 KB Output is correct
10 Correct 7 ms 596 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 3 ms 340 KB Output is correct
7 Correct 7 ms 596 KB Output is correct
8 Correct 7 ms 468 KB Output is correct
9 Correct 2 ms 340 KB Output is correct
10 Correct 7 ms 596 KB Output is correct
11 Correct 0 ms 212 KB Output is correct
12 Correct 1 ms 212 KB Output is correct
13 Correct 4 ms 468 KB Output is correct
14 Correct 0 ms 212 KB Output is correct
15 Correct 10 ms 608 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 308 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Incorrect 1 ms 340 KB Integer 2485 violates the range [1, 72]
9 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Incorrect 1 ms 340 KB Integer 2485 violates the range [1, 72]
9 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 212 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -