답안 #1026884

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1026884 2024-07-18T12:52:24 Z MarwenElarbi 곤돌라 (IOI14_gondola) C++17
40 / 100
47 ms 6484 KB
#include <bits/stdc++.h>
#include "gondola.h"
using namespace std;
#define pb push_back
#define se second
#define fi first
const int nax=5e5+5;
const int MOD=1e9+9;
int valid(int n, int inputSeq[])
{
    vector<pair<int,int>> tab;
    bool test=true;
    set<int> stt;
    for (int i = 0; i < n; ++i)
    {
        stt.insert(inputSeq[i]);
    }
    test&=(stt.size()==n);
    int cnt=-1e9;
    for (int i = 0; i < n; ++i)
    {
        if(inputSeq[i]<=n){
            cnt=(inputSeq[i]-(i+1)+n)%n;
        }
    }
    if(cnt==-1e9) return test;
    for (int i = 0; i < n; ++i)
    {
        if(inputSeq[i]<=n){
            if((inputSeq[i]-(i+1)+n)%n!=cnt) test=false;
        }
    }
    return test;
}
 
//----------------------
 
int replacement(int n, int gondolaSeq[], int replacementSeq[])
{
   for (int i = 0; i < n; ++i)
   {
       if(gondolaSeq[i]<=n){

       }
   }
}
 
//----------------------
 
int countReplacement(int n, int inputSeq[])
{
    long long cur=1;
    set<int> st;
    if(!valid(n,inputSeq)) return 0;
    for (int i = 0; i < n; ++i)
    {
        st.insert(i);
    }
    for (int i = 0; i < n; ++i)
    {
        if(inputSeq[i]<=n) st.erase(inputSeq[i]);
    }
    if(st.size()==0) return 1;
    set<int> stt;
    for (int i = 0; i < n; ++i)
    {
        if(inputSeq[i]>n) stt.insert(inputSeq[i]);
    }
    int cnt=n;
    while(stt.size()){
        //cout <<cnt<<endl;
        for (int i = cnt; i < *stt.begin()-1; ++i)
        {
            cur=(1ll*cur*(int)stt.size())%MOD;
        }
        cnt=*stt.begin();
        stt.erase(*stt.begin());
    }
    return cur;
}

Compilation message

gondola.cpp: In function 'int valid(int, int*)':
gondola.cpp:18:22: warning: comparison of integer expressions of different signedness: 'std::set<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   18 |     test&=(stt.size()==n);
      |            ~~~~~~~~~~^~~
gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:46:1: warning: no return statement in function returning non-void [-Wreturn-type]
   46 | }
      | ^
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
# 결과 실행 시간 메모리 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 596 KB Output is correct
5 Correct 0 ms 344 KB Output is correct
6 Correct 8 ms 2140 KB Output is correct
7 Correct 19 ms 3676 KB Output is correct
8 Correct 14 ms 3868 KB Output is correct
9 Correct 5 ms 1372 KB Output is correct
10 Correct 22 ms 4444 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 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 Correct 7 ms 2140 KB Output is correct
7 Correct 19 ms 3672 KB Output is correct
8 Correct 13 ms 3932 KB Output is correct
9 Correct 4 ms 1372 KB Output is correct
10 Correct 18 ms 4516 KB Output is correct
11 Correct 0 ms 412 KB Output is correct
12 Correct 0 ms 348 KB Output is correct
13 Correct 9 ms 2136 KB Output is correct
14 Correct 0 ms 348 KB Output is correct
15 Correct 28 ms 4768 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 348 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 344 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 348 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 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
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 0 ms 344 KB Output is correct
5 Correct 0 ms 344 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 444 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 1 ms 344 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 1 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 46 ms 6484 KB Output is correct
10 Correct 35 ms 4944 KB Output is correct
11 Correct 13 ms 2652 KB Output is correct
12 Correct 20 ms 3164 KB Output is correct
13 Incorrect 4 ms 1116 KB Output isn't correct
14 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 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 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 47 ms 6444 KB Output is correct
10 Correct 38 ms 4948 KB Output is correct
11 Correct 15 ms 2676 KB Output is correct
12 Correct 17 ms 3084 KB Output is correct
13 Incorrect 4 ms 1116 KB Output isn't correct
14 Halted 0 ms 0 KB -