Submission #966361

# Submission time Handle Problem Language Result Execution time Memory
966361 2024-04-19T18:16:26 Z anton The Potion of Great Power (CEOI20_potion) C++17
Compilation error
0 ms 0 KB
#include<bits/stdc++.h>

using namespace std;
#define ll long long
#define pii pair<int, int>
typedef complex<int> point;

const int INF = 1e9;

int dist(vector<int>& a,int aid,  vector<int>& b, int bid){
    if(a.size() == 0 || b.size() == 0){
        return INF;
    }   
    int ia =0, ib = 0;

    int res= abs(a[0]-b[0]);
    while(ia<a.size()-1 || ib<b.size()-1){
        if(ia==a.size()-1){
            ib++;
        }
        else if(ib==b.size()-1){
            ia++;
        }
        else if(a[ia]<=b[ib]){
            ia++;
        }
        else{
            ib++;
        }

        res = min(res, abs(a[ia]-b[ib]));
    }
    return res;
}

vector<vector<int>> vs;
vector<int> h;
set<pii> cur;
int n;

void init(int N, int D, int H[]) {
    vs.resize(N);
    h.resize(N);
    for(int i = 0; i<N; i++){
        h[i] = H[i];
    }
    n= N;
}

void curseChanges(int U, int A[], int B[]) {
    for(int i = 0; i<U; i++){
        int a= A[i], b= B[i];
        if(cur.find({a, b})!=cur.end()){
            cur.erase({a, b});
        }
        else{
            cur.insert({a, b});
        }
    }

    for(auto e: cur){
        vs[e.first].push_back(h[e.second]);
        vs[e.second].push_back(h[e.first]);
    }

    for(int i = 0; i<n; i++){
        sort(vs[i].begin(), vs[i].end());
    }
}

int question(int x, int y, int v) {

    return dist(vs[x],x vs[y], y);
}

Compilation message

potion.cpp: In function 'int dist(std::vector<int>&, int, std::vector<int>&, int)':
potion.cpp:17:13: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   17 |     while(ia<a.size()-1 || ib<b.size()-1){
      |           ~~^~~~~~~~~~~
potion.cpp:17:30: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   17 |     while(ia<a.size()-1 || ib<b.size()-1){
      |                            ~~^~~~~~~~~~~
potion.cpp:18:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   18 |         if(ia==a.size()-1){
      |            ~~^~~~~~~~~~~~
potion.cpp:21:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   21 |         else if(ib==b.size()-1){
      |                 ~~^~~~~~~~~~~~
potion.cpp: In function 'int question(int, int, int)':
potion.cpp:73:24: error: expected ')' before 'vs'
   73 |     return dist(vs[x],x vs[y], y);
      |                ~       ^~~
      |                        )
potion.cpp:73:32: error: invalid initialization of reference of type 'std::vector<int>&' from expression of type 'int'
   73 |     return dist(vs[x],x vs[y], y);
      |                                ^
potion.cpp:10:48: note: in passing argument 3 of 'int dist(std::vector<int>&, int, std::vector<int>&, int)'
   10 | int dist(vector<int>& a,int aid,  vector<int>& b, int bid){
      |                                   ~~~~~~~~~~~~~^