| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 | 
|---|---|---|---|---|---|---|---|
| 209330 | papa | Slagalica (COCI19_slagalica2) | C++14 | 48 ms | 3820 KiB | 
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
//treba da se doradi !!!
int n;
bool pi = 0;
bool ki = 0;
int cnt1 =0;
int cnt4 =0;
vector<pair<int,int> > li;
vector<pair<int,int> > lu;
vector<pair<int,int> >::iterator iz,ud;
vector<int> rj;
int zadnji;
void nemoguce()
{
    cout << -1;
    exit(0);
    return;
}
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    cerr.tie(0);
    cin >> n;
    for(int i=0;i<n;i++)
    {
        int x,a;
        cin >> x >> a;
        if(x==5 || x==6) rj.push_back(a);
        else if(x==7 || x==8) zadnji = a;
        if(x==5) pi = 1;
        else if(x==7) ki = 1;
        else if(x==1) cnt1++;
        else if(x==4) cnt4++;
        if(x==1 || x==2) li.push_back({a,x});
        else if(x==3 || x==4) lu.push_back({a,x});
    }
    if(pi && ki && cnt4!=cnt1+1) nemoguce();
    if(!pi && !ki && cnt4!=cnt1+1) nemoguce();
    if(pi ^ ki)
    {
        if(cnt1!=cnt4) nemoguce();
        if(cnt1==0)
        {
            if(pi && li.size()) nemoguce();
            if(ki && lu.size()) nemoguce();
        }
    }
    sort(li.begin(),li.end());
    sort(lu.begin(),lu.end());
    int prom = 0;
    bool treba = !pi;
    iz = li.begin();
    ud = lu.begin();
    while(!((iz==li.end() && treba) || (ud==lu.end() && !treba)))
    {
        if(treba)
        {
            if(iz->second==1)
            {
                treba = 0;
                prom = rj.size()-1;
            }
            rj.push_back(iz->first);
            iz++;
        }
        else
        {
            if(ud->second==4)
            {
                treba = 1;
                prom = rj.size()-1;
            }
            rj.push_back(ud->first);
            ud++;
        }
    }
    for(int i=0;i<prom+1;i++) cout << rj[i] << " ";
    while(iz!=li.end())
    {
        cout << iz->first << " ";
        iz++;
    }
    while(ud!=lu.end())
    {
        cout << ud->first << " ";
        ud++;
    }
    for(int i=prom+1;i<rj.size();i++) cout << rj[i] << " ";
    cout << zadnji;
    return 0;
}
컴파일 시 표준 에러 (stderr) 메시지
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
