Submission #763227

# Submission time Handle Problem Language Result Execution time Memory
763227 2023-06-22T06:59:54 Z Polar_Bear_2007 Xylophone (JOI18_xylophone) C++17
Compilation error
0 ms 0 KB
#ifdef MINHDEPTRAI

#include "/Library/Developer/CommandLineTools/usr/include/c++/v1/bits/stdc++.h"  
#include <chrono>
#define __gcd(a, b) gcd(a, b)
using namespace std ::chrono;
#else 
#include <bits/stdc++.h>
#include <xylophone.h>
#endif

using namespace std;
#define foru(i, a, b) for(int i = a; i <= b; ++i)
#define ford(i, a, b) for(int i = a; i >= b; --i)
#define IOS ios_base:: sync_with_stdio(false); cin.tie(0); cout.tie(0);
#define mp(a, b) make_pair(a, b)
#define endl '\n'

#define int long long
const int maxN = 2e6 + 5;
const int mod = 998244353;
const long long inf = 1e17;



vector<int> number, triple;
int dau[maxN], ans[maxN];
void solve(int N){
    
    int i = 1, j = 2;
    while(j <= N){
        number.push_back(query(i, j));
        i++;
        j++;
    }
    int k = 3;
    i = 1;
    while(k <= N){
        triple.push_back(query(i, k));
        i++;
        k++;
    }

    dau[0] = 1;
    for(int j = 0; j < triple.size(); j++){
        if(triple[j] == number[j + 1] + number[j]){
            dau[j + 1] = dau[j];
        }
        else{
            dau[j + 1] = -dau[j];   
        }
    }
    bool check = true;
    int cnt = 0;
    while(check){
        ans[0] = ++cnt;
        if(cnt > N) break;

        for(int j = 1; j <= N - 1; j++){
            ans[j] = ans[j - 1] +  number[j - 1] * (-dau[j - 1]);
        }

        foru(j, 0, N - 1){
            if(ans[j] < 1 || ans[j] > N){
                break;
            }
            if(j == N - 1) check = false;
        }        
    }
    
    cnt = 0;
    while(check){
        ans[0] = ++cnt;
        
        if(cnt > N) break;
        for(int j = 1; j <= N - 1; j++){
            ans[j] = ans[j - 1] +  number[j - 1] * dau[j - 1];
            
        }

        foru(j, 0, N - 1){
            if(ans[j] < 1 || ans[j] > N){
                break;
            }
            
            if(j == N - 1) check = false;
        }
    }
    foru(j, 0, N - 1) answer(j + 1, ans[j]);
  
}
signed main(){
    // freopen("input.txt", "r", stdin);
    // freopen("output1.txt", "w", stdout);
    // input
    IOS
    int n;
    cin >> n;
    solve(n);
  
}

Compilation message

xylophone.cpp: In function 'void solve(long long int)':
xylophone.cpp:46:22: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   46 |     for(int j = 0; j < triple.size(); j++){
      |                    ~~^~~~~~~~~~~~~~~
/usr/bin/ld: /tmp/ccAf9z24.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/cchVxlS6.o:xylophone.cpp:(.text.startup+0x0): first defined here
/usr/bin/ld: /tmp/ccAf9z24.o: in function `main':
grader.cpp:(.text.startup+0x30): undefined reference to `solve(int)'
collect2: error: ld returned 1 exit status