Submission #34010405


Source Code Expand

#include<bits/stdc++.h>
#define int long long
#define rep(i,n) for(int (i)=1;(i)<=n;++(i))
#define repe(i,l,r) for(int (i)=l;(i)<=r;++(i))
#define FOR(i,r,l) for(int (i)=r;(i)>=l;--(i))
#define INF 0x3f3f3f
#define ls p<<1
#define rs p<<1|1
using namespace std;
int read(){int sum=0,f=1;char c;c=getchar();while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();}while(c>='0'&&c<='9'){sum=(sum<<1)+(sum<<3)+(c-'0');c=getchar();}return sum*f;}
void out(int x){if(x<0){putchar('-');x=-x;}if(x>=10)out(x/10);putchar(x%10+'0');}
struct Edge{
	int u,v;
}e[500005];
int q[500005],fa[500005],sz[500005];
bool vis[500005],ge[500005];
int n,m,E,Q;
int getfa(int x){
	if(x!=fa[x]){
		fa[x]=getfa(fa[x]);
	}
	return fa[x];
}
int ans;
void update(int x,int y){
	int fx=getfa(x),fy=getfa(y);
	if(fx==fy)return;
	fa[fy]=fx;
	if(vis[fx]==1||vis[fy]==1){
		if(vis[fx]==0)ans+=sz[fx];
		if(vis[fy]==0)ans+=sz[fy];
	}
	sz[fx]+=sz[fy];
	vis[fx]|=vis[fy];
}
int res[500005];
signed main(){
	n=read(),m=read(),E=read();
	rep(i,E){
		e[i].u=read(),e[i].v=read();
	}
	repe(i,n+1,n+m)vis[i]=1;
	rep(i,n+m)fa[i]=i;
	rep(i,n)sz[i]=1;
	Q=read();
	rep(i,Q){
		q[i]=read();
		ge[q[i]]=1;
	}
	rep(i,E){
		if(!ge[i]){
			update(e[i].u,e[i].v);
		}
	}
	FOR(i,Q,1){
		res[i]=ans;
		update(e[q[i]].u,e[q[i]].v);
	}
	rep(i,Q)printf("%lld\n",res[i]);
	return 0;
}

Submission Info

Submission Time
Task E - Blackout 2
User ktq_cpp
Language C++ (GCC 9.2.1)
Score 500
Code Size 1378 Byte
Status AC
Exec Time 102 ms
Memory 19772 KiB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:3:26: warning: unnecessary parentheses in declaration of ‘i’ [-Wparentheses]
    3 | #define rep(i,n) for(int (i)=1;(i)<=n;++(i))
      |                          ^
./Main.cpp:39:2: note: in expansion of macro ‘rep’
   39 |  rep(i,E){
      |  ^~~
./Main.cpp:4:29: warning: unnecessary parentheses in declaration of ‘i’ [-Wparentheses]
    4 | #define repe(i,l,r) for(int (i)=l;(i)<=r;++(i))
      |                             ^
./Main.cpp:42:2: note: in expansion of macro ‘repe’
   42 |  repe(i,n+1,n+m)vis[i]=1;
      |  ^~~~
./Main.cpp:3:26: warning: unnecessary parentheses in declaration of ‘i’ [-Wparentheses]
    3 | #define rep(i,n) for(int (i)=1;(i)<=n;++(i))
      |                          ^
./Main.cpp:43:2: note: in expansion of macro ‘rep’
   43 |  rep(i,n+m)fa[i]=i;
      |  ^~~
./Main.cpp:3:26: warning: unnecessary parentheses in declaration of ‘i’ [-Wparentheses]
    3 | #define rep(i,n) for(int (i)=1;(i)<=n;++(i))
      |                          ^
./Main.cpp:44:2: note: in expansion of macro ‘rep’
   44 |  rep(i,n)sz[i]=1;
      |  ^~~
./Main.cpp:3:26: warning: unnecessary parentheses in declaration of ‘i’ [-Wparentheses]
    3 | #define rep(i,n) for(int (i)=1;(i)<=n;++(i))
      |                          ^
./Main.cpp:46:2: note: in expansion of macro ‘rep’
   46 |  rep(i,Q){
      |  ^~~
./Main.cpp:3:26: warning: unnecessary parentheses in declaration of ‘i’ [-Wparentheses]
    3 | #define rep(i,n) for(int (i)=1;(i)<=n;++(i))
      |                          ^
./Main.cpp:50:2: note: in expansion of macro ‘rep’
   50 |  rep(i,E){
      |  ^~~
./Main.cpp:5:28: warning: unnecessary parentheses in declaration of ‘i’ [-Wparentheses]
    5 | #define FOR(i,r,l) for(int (i)=r;(i)>=l;--(i))
      |                            ^
./Main.cpp:55:2: note: in expansion of macro ‘FOR’
   55 |  FOR(i,Q,1){
      |  ^~~
./Main.cpp:3:26: warning: unnecessary parentheses in declaration of ‘i’ [-Wparentheses]
...

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 1
AC × 41
Set Name Test Cases
Sample sample_01.txt
All sample_01.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt
Case Name Status Exec Time Memory
sample_01.txt AC 7 ms 3668 KiB
test_01.txt AC 69 ms 13896 KiB
test_02.txt AC 48 ms 11832 KiB
test_03.txt AC 78 ms 18980 KiB
test_04.txt AC 41 ms 11688 KiB
test_05.txt AC 12 ms 7804 KiB
test_06.txt AC 24 ms 8188 KiB
test_07.txt AC 36 ms 10432 KiB
test_08.txt AC 66 ms 16612 KiB
test_09.txt AC 46 ms 12508 KiB
test_10.txt AC 57 ms 12892 KiB
test_11.txt AC 66 ms 16344 KiB
test_12.txt AC 33 ms 10412 KiB
test_13.txt AC 55 ms 15292 KiB
test_14.txt AC 43 ms 12364 KiB
test_15.txt AC 16 ms 8172 KiB
test_16.txt AC 22 ms 8944 KiB
test_17.txt AC 42 ms 11072 KiB
test_18.txt AC 83 ms 19364 KiB
test_19.txt AC 50 ms 13208 KiB
test_20.txt AC 48 ms 12400 KiB
test_21.txt AC 90 ms 16924 KiB
test_22.txt AC 56 ms 13360 KiB
test_23.txt AC 87 ms 19772 KiB
test_24.txt AC 52 ms 13520 KiB
test_25.txt AC 80 ms 16196 KiB
test_26.txt AC 47 ms 11460 KiB
test_27.txt AC 55 ms 13428 KiB
test_28.txt AC 85 ms 19580 KiB
test_29.txt AC 55 ms 13428 KiB
test_30.txt AC 52 ms 13148 KiB
test_31.txt AC 73 ms 16948 KiB
test_32.txt AC 54 ms 13344 KiB
test_33.txt AC 84 ms 19636 KiB
test_34.txt AC 50 ms 13360 KiB
test_35.txt AC 102 ms 19340 KiB
test_36.txt AC 90 ms 17384 KiB
test_37.txt AC 56 ms 13296 KiB
test_38.txt AC 84 ms 19696 KiB
test_39.txt AC 50 ms 13576 KiB
test_40.txt AC 85 ms 16968 KiB