Submission #229335

# Submission time Handle Problem Language Result Execution time Memory
229335 2020-05-04T08:45:12 Z osaaateiasavtnl Gondola (IOI14_gondola) C++14
20 / 100
44 ms 4732 KB
#include<bits/stdc++.h>
using namespace std;

#define ii pair <int, int>
#define app push_back
#define all(a) a.begin(), a.end()
#define bp __builtin_popcountll
#define ll long long
#define mp make_pair
#define f first
#define s second
#define Time (double)clock()/CLOCKS_PER_SEC

#include "gondola.h"

signed valid(signed n, signed a[])
{
    set <int> ms;
    for (int i = 0; i < n; ++i)
        ms.insert(a[i]);
    if (ms.size() < n)
        return 0;

    int pos = -1;
    for (int i = 0; i < n; ++i) {
        if (a[i] <= n) {
            pos = i;
            break;
        }
    }   

    if (pos == -1) 
        return 1;
    else {
        for (int sh = 0; sh < n; ++sh) {
            int i = (pos + sh) % n;
            int val = a[pos] + sh;
            if (val > n)
                val -= n;
            if (a[i] <= n && a[i] != val)
                return 0;
        }
        return 1;
    }   

}

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

signed replacement(signed n, signed a[], signed ans[])
{

    int pos = -1, S;
    for (int i = 0; i < n; ++i) {
        if (a[i] <= n) {
            pos = i;
            pos = a[i];
            break;
        }
    }   
    
    if (pos == -1) {
        pos = 0;
        S = 1;
    }

    vector <ii> ar;
    for (int sh = 0; sh < n; ++sh) {
        int i = (pos + sh) % n;
        int val = S + sh;
        if (val > n)
            val -= n;
        if (a[i] > n) {
            ar.app(mp(a[i], val));
        }   
    }
    sort(all(ar));
    int ptr = 0;
    int xp = n + 1;
    for (auto e : ar) {
        int cur = e.s;
        while (xp <= e.f) {
            //cout << cur << "->" << xp << endl;
            ans[ptr++] = cur;
            cur = xp++;
        }                           
    }   
    return ptr;
}

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

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

Compilation message

gondola.cpp: In function 'int valid(int, int*)':
gondola.cpp:21:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (ms.size() < n)
         ~~~~~~~~~~^~~
# Verdict Execution time Memory Grader output
1 Correct 4 ms 256 KB Output is correct
2 Correct 4 ms 256 KB Output is correct
3 Correct 4 ms 256 KB Output is correct
4 Correct 4 ms 384 KB Output is correct
5 Correct 4 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 256 KB Output is correct
2 Correct 5 ms 384 KB Output is correct
3 Correct 4 ms 256 KB Output is correct
4 Correct 5 ms 384 KB Output is correct
5 Correct 4 ms 256 KB Output is correct
6 Correct 16 ms 2176 KB Output is correct
7 Correct 35 ms 3696 KB Output is correct
8 Correct 27 ms 3968 KB Output is correct
9 Correct 11 ms 1536 KB Output is correct
10 Correct 33 ms 4600 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 5 ms 384 KB Output is correct
3 Correct 4 ms 256 KB Output is correct
4 Correct 4 ms 384 KB Output is correct
5 Correct 5 ms 256 KB Output is correct
6 Correct 16 ms 2176 KB Output is correct
7 Correct 34 ms 3704 KB Output is correct
8 Correct 26 ms 3960 KB Output is correct
9 Correct 11 ms 1536 KB Output is correct
10 Correct 31 ms 4608 KB Output is correct
11 Correct 4 ms 384 KB Output is correct
12 Correct 5 ms 384 KB Output is correct
13 Correct 20 ms 2304 KB Output is correct
14 Correct 5 ms 256 KB Output is correct
15 Correct 44 ms 4732 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 4 ms 256 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 4 ms 256 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 4 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 256 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 256 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 256 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 384 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -