Submission #919413

# Submission time Handle Problem Language Result Execution time Memory
919413 2024-01-31T17:49:10 Z nasir_bashirov ICC (CEOI16_icc) C++11
0 / 100
283 ms 856 KB
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")

#include <bits/stdc++.h>
#include "icc.h"
using namespace std;

#define db long double
#define ll long long
#define pii pair<int, int>
#define pll pair<ll, ll>
#define vi vector<int>
#define vl vector<ll>
#define vii vector<pii>
#define vll vector<pll>
// #define endl '\n'
#define all(x) x.begin(), x.end()
#define fastio\
    ios_base::sync_with_stdio(0);\
    cin.tie(0);\
    cout.tie(0)\

// #define int long long

mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());

int n;

struct DSU{
    vi par;
    int components;
    DSU(int sz){
        components = sz;
        par.resize(sz + 5, -1);
    }
    int Find(int u){
        if(par[u] < 0)   return u;
        else    return par[u] = Find(par[u]);
    }
    bool Union(int u, int v){
        u = Find(u), v = Find(v);
        if(u != v){
            if(par[u] < par[v]){
                swap(u, v);
            }
            par[u] += par[v];
            par[v] = u;
            components--;
            return true;
        }
        else{
            return false;
        }
    }
};

void run(int N){
    n = N;
    DSU g(n);
    for(int t = 1; t < n; t++){
        bool f = false;
        for(int i = 1; i = n and !f; i++){
            for(int j = 1; j <= n; j++){
                if(i == j or g.Find(i) == g.Find(j))    continue;
                int a[] = {i}, b[] = {j};
                if(query(1, 1, a, b)){
                    g.Union(i, j);
                    setRoad(i, j);
                    f = true;
                }
            }
        }
    }
}

Compilation message

icc.cpp: In function 'void run(int)':
icc.cpp:62:26: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
   62 |         for(int i = 1; i = n and !f; i++){
      |                        ~~^~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Incorrect 119 ms 856 KB Number of queries more than 3000 out of 1500
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 211 ms 604 KB Number of queries more than 5000 out of 2500
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 283 ms 616 KB Number of queries more than 4500 out of 2250
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 267 ms 608 KB Number of queries more than 4000 out of 2000
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 221 ms 616 KB Number of queries more than 3550 out of 1775
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 176 ms 608 KB Number of queries more than 3250 out of 1625
2 Halted 0 ms 0 KB -