Submission #1153489

#TimeUsernameProblemLanguageResultExecution timeMemory
1153489Robert_juniorJoker (BOI20_joker)C++20
Compilation error
0 ms0 KiB
#include<bits/stdc++.h> using namespace std; #define int long long #define all(x) x.begin(), x.end() #define ins insert #define pb push_back #define F first #define S second const int N = 4e5+100, M = 5e5 + 7; const int mod = 998244353; int opt[N], block[N], f[N], p[N], sz[N]; pair<int, int>g[N]; stack<pair<int, int>>s; bool ok = 1; pair<int, int>get(int v){ if(p[v] == v) return {v, 0}; pair<int, int>val = get(p[v]); return {val.F, (val.S + f[v]) % 2}; } void unite(int i){ int u = g[i].F, v = g[i].S; if(u == -1) return; pair<int, int>x = get(u), y = get(v); if(x.F == y.F){ if(y.S == x.S){ if(ok){ ok = 0; s.push({-1, -1}); } } return; } if(sz[x.F] < sz[y.F]) swap(x, y); s.push({x.F, sz[x.F]}); s.push({y.F, sz[y.F]}); sz[x.F] += sz[y.F]; p[y.F] = x.F; f[y.F] = (x.S + y.S + 1) % 2; } void otkat(){ while(s.size() && block[s.size()] == 0){ pair<int, int>x = s.top(); s.pop(); if(x.F == -1){ ok = 1; continue; } p[x.F] = x.F; f[x.F] = 0; sz[x.F] = x.S; } block[s.size()]--; } void dnc(int l, int r, int optr){ if(l > r) return; int m = (l + r) / 2; for(int i = l; i < m; i++){ unite(i); } block[s.size()]++; for(int i = optr; i >= m; i--){ unite(i); if(!ok){ opt[m] = r; break; } } otkat(); unite(m); dnc(m + 1, r, optr); otkat(); if(!opt[m]) return; for(int i = optr; i > opt[m]; i--){ unite(i); } dnc(l, m - 1, opt[m]); otkat(); } void solve(){ int n, m, q; cin>>n>>m>>q; for(int i = 1; i <= n; i++){ p[i] = i; sz[i] = 1; } for(int i = 1; i <= m; i++){ cin>>g[i].F>>g[i].S; } g[m + 1] = {-1, -1}; dnc(1, m, m + 1); while(q--){ int l, r; cin>>l>>r l = max(l, 1); r = min(r, m); if(opt[l] > r) cout<<"YES\n"; else cout<<"NO\n"; } } main(){ ios_base :: sync_with_stdio(false); cin.tie(nullptr); int t = 1; //cin>>t; for(int i = 1; i <= t; i++){ //cout<<"Case "<<i<<": "; solve(); } }

Compilation message (stderr)

Joker.cpp: In function 'void solve()':
Joker.cpp:93:18: error: expected ';' before 'l'
   93 |         cin>>l>>r
      |                  ^
      |                  ;
   94 |         l = max(l, 1);
      |         ~         
Joker.cpp: At global scope:
Joker.cpp:100:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
  100 | main(){
      | ^~~~