Submission #584869

#TimeUsernameProblemLanguageResultExecution timeMemory
584869MazaalaiGondola (IOI14_gondola)C++17
20 / 100
12 ms1132 KiB
#include <bits/stdc++.h>
#include "gondola.h"
#define ALL(x) x.begin(),x.end()
#define LLA(x) x.rbegin(),x.rend()
#define pb push_back
using namespace std;
using PII = pair <int, int>;
int valid(int n, int nums[]) {
    int mini = 0;
    for (int i = 1; i < n; i++) 
        if (nums[i] < nums[mini]) mini = i;
    
    int st = nums[mini];
    vector <int> tmp;
    for (int i = 0; i < n; i++) {
        int j = (mini + i) % n;
        if (nums[j] == st+i) continue;
        if (nums[j] > n) tmp.pb(nums[j]);
        if (nums[j] <= n) return 0;
    }
    sort(ALL(tmp));
    for (int i = 1; i < tmp.size(); i++)
        if (tmp[i] == tmp[i-1]) return 0;
    return 1;
}


int replacement(int n, int nums[], int res[]) {
    int mini = 0;
    for (int i = 1; i < n; i++) 
        if (nums[i] < nums[mini]) mini = i;
    
    vector <PII> tmp;
    int st = nums[mini];
    for (int i = 0; i < n; i++) {
        int j = (mini + i) % n;
        if (nums[j] == st+i && nums[j] <= n) continue;
        tmp.pb({nums[j], j+1});
    }
    sort(ALL(tmp));
    // cout << "HERE: " << tmp.size() << "\n";
    int ptr = n+1, x = 0;
    for (auto [a, b] : tmp) {
        while(1) {
            res[x++] = b;
            if (ptr++ == a) break;
        }
    }
    return x;
}


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














Compilation message (stderr)

gondola.cpp: In function 'int valid(int, int*)':
gondola.cpp:22:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   22 |     for (int i = 1; i < tmp.size(); i++)
      |                     ~~^~~~~~~~~~~~
#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...