Submission #1004838

# Submission time Handle Problem Language Result Execution time Memory
1004838 2024-06-21T18:48:58 Z u_suck_o Gondola (IOI14_gondola) C++17
25 / 100
6 ms 1372 KB
#include "bits/stdc++.h"
#include "gondola.h"

using namespace std;

int valid(int n, int inputSeq[])
{
    bool seen[250001];
    memset(seen, 0, sizeof seen);
    bool found = false;
    int diff = -1;
    for (int i = 0; i < n; i++) {
        if (seen[inputSeq[i]]) return 0;
        seen[inputSeq[i]] = true;
        if (inputSeq[i] > n) continue;
        if (!found) {
            found = true;
            diff = (inputSeq[i] - i + n) % n;
        } else {
            if ((inputSeq[i] - i + n) % n != diff)
                return 0;
        }
    }
    return 1;
}

int replacement(int n, int gondolaSeq[], int replacementSeq[])
{
    int diff = 0;
    for (int i = 0; i < n; i++) {
        if (gondolaSeq[i] <= n) {
            diff = (gondolaSeq[i] - i + n) % n;
            break;
        }
    }
    
    vector<pair<int, int>> v;
    for (int i = 0; i < n; i++) {
        if (gondolaSeq[i] > n)
            v.push_back({gondolaSeq[i], (i+diff) % n});
    }
    sort(v.begin(), v.end());
    int last = n; //last assigned gondola #
    vector<int> rep;
    for (int i = 0; i < v.size(); i++) {
        rep.push_back(v[i].second);
        for (int j = last+1; j < v[i].first; j++)
            rep.push_back(j);
        last = v[i].first;
    }
    for (int i = 0; i < rep.size(); i++)
        replacementSeq[i] = rep[i];
    return rep.size();
}

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

int countReplacement(int n, int inputSeq[])
{
  return -3;
}

Compilation message

gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:45:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   45 |     for (int i = 0; i < v.size(); i++) {
      |                     ~~^~~~~~~~~~
gondola.cpp:51:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   51 |     for (int i = 0; i < rep.size(); i++)
      |                     ~~^~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 600 KB Output is correct
2 Correct 1 ms 604 KB Output is correct
3 Correct 0 ms 604 KB Output is correct
4 Correct 1 ms 604 KB Output is correct
5 Correct 0 ms 448 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 604 KB Output is correct
2 Correct 0 ms 604 KB Output is correct
3 Correct 0 ms 440 KB Output is correct
4 Correct 0 ms 604 KB Output is correct
5 Correct 0 ms 604 KB Output is correct
6 Correct 2 ms 860 KB Output is correct
7 Correct 6 ms 1372 KB Output is correct
8 Correct 5 ms 1372 KB Output is correct
9 Correct 2 ms 860 KB Output is correct
10 Correct 6 ms 1372 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 604 KB Output is correct
2 Correct 0 ms 440 KB Output is correct
3 Correct 1 ms 600 KB Output is correct
4 Correct 0 ms 600 KB Output is correct
5 Correct 0 ms 604 KB Output is correct
6 Correct 3 ms 860 KB Output is correct
7 Correct 6 ms 1372 KB Output is correct
8 Correct 4 ms 1372 KB Output is correct
9 Correct 1 ms 860 KB Output is correct
10 Correct 5 ms 1368 KB Output is correct
11 Correct 1 ms 604 KB Output is correct
12 Correct 0 ms 604 KB Output is correct
13 Correct 3 ms 860 KB Output is correct
14 Correct 0 ms 604 KB Output is correct
15 Correct 6 ms 1372 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 344 KB Output is correct
6 Incorrect 0 ms 348 KB Integer 0 violates the range [1, 5]
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Incorrect 0 ms 444 KB Integer 0 violates the range [1, 5]
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 344 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 344 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 344 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -