Submission #537090

#TimeUsernameProblemLanguageResultExecution timeMemory
537090Spade1Gondola (IOI14_gondola)C++14
20 / 100
14 ms624 KiB
#include <bits/stdc++.h>
#include "gondola.h"
#define pii pair<int, int>
#define ll long long
#define ld long double
#define st first
#define nd second
#define pb push_back
#define INF INT_MAX
using namespace std;

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

    sort (inputSeq, inputSeq + n);
    for (int i = 1; i < n; ++i) {
        if (inputSeq[i] == inputSeq[i - 1]) return 0;
    }

    return 1;
}

int replacement(int n, int gondolaSeq[], int replacementSeq[]) {
    vector<pii> tmp;
    int _min = INT_MAX, idx;
    int _max = INT_MIN;
    for (int i = 0; i < n; ++i) {
        if (gondolaSeq[i] < _min) {
            _min = gondolaSeq[i];
            idx = i;
        }
        _max = max(_max, gondolaSeq[i]);
    }
    for (int i = idx; i < idx + n; ++i) {
        if (gondolaSeq[(i%n)] > n) tmp.push_back({gondolaSeq[(i%n)], i - idx + 1});
    }

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

    int j =  n;
    idx = 0;
    for (auto i : tmp) {
        replacementSeq[idx++] = i.nd;
        j++;
        while (j != i.st) {
            replacementSeq[idx++] = j;
            j++;
        }
    }
    return idx;
}

int countReplacement(int n, int inputSeq[]) {

}

Compilation message (stderr)

gondola.cpp: In function 'int countReplacement(int, int*)':
gondola.cpp:64:1: warning: no return statement in function returning non-void [-Wreturn-type]
   64 | }
      | ^
gondola.cpp: In function 'int valid(int, int*)':
gondola.cpp:21:24: warning: 'idx' may be used uninitialized in this function [-Wmaybe-uninitialized]
   21 |         if (inputSeq[(i%n)] != i - idx + 1 && inputSeq[(i%n)] <= n) return 0;
      |                      ~~^~~
gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:34:25: warning: 'idx' may be used uninitialized in this function [-Wmaybe-uninitialized]
   34 |     int _min = INT_MAX, idx;
      |                         ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...