제출 #1169909

#제출 시각아이디문제언어결과실행 시간메모리
1169909bbartekMinerals (JOI19_minerals)C++20
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h>
#include "minerals.h"

using namespace std;

typedef long long ll;
#define st first
#define nd second
#define pb push_back

const int maxn = 1e5+7;

bool zaznaczone[maxn];
vector<pair<int,int>> wyniki;

void rek(vector<int> numery){
    if(numery.size() == 2){
        wyniki.pb({numery[0],numery[1]});
        return;
    }
    vector<int> jeden,dwa;
    int licznik = 0,nowy,stary = 0;
    for(auto i : numery){
        nowy = Query(i);
        licznik++;
        if(nowy == stary){
            zaznaczone[i] = 1;
        }
        if(2*(licznik-nowy) >= numery.size()/2){
            stary = nowy;
            for(int j=0;j<licznik;j++){
                if(zaznaczone[i])
                    continue;
                nowy = Query(numery[j]);
                if(nowy == stary){
                    jeden.pb(numery[j]);
                }
                else{
                    dwa.pb(numery[j]);
                }
                stary = nowy;
            }
            break;
        }
        stary = nowy;
    }
    for(auto i : numery){
        if(zaznaczone[i]){
            nowy = Query(i);
            zaznaczone[i] = 0;
            jeden.pb(i);
        }
    }
    for(int i=licznik;i<numery.size();i++){
        dwa.pb(numery[i]);
    }
    rek(jeden);
    rek(dwa);
    return;
}

void Solve(int n) {   //Query(x) // Answer(a,b)
    vector<int> vect;
    for(int i=1;i<=2n;i++){
        vect.pb(i);
    }
    rek(vect);

    for(auto i : wyniki){
        Answer(i.st,i.nd);
    }
}

컴파일 시 표준 에러 (stderr) 메시지

minerals.cpp: In function 'void Solve(int)':
minerals.cpp:64:20: error: unable to find numeric literal operator 'operator""n'
   64 |     for(int i=1;i<=2n;i++){
      |                    ^~