提出 #33189079
ソースコード 拡げる
#include<cstdio>
#include<cctype>
#include<algorithm>
#define maxn 101101
template<class T>
inline T read(){
T r=0,f=0;
char c;
while(!isdigit(c=getchar()))f|=(c=='-');
while(isdigit(c))r=(r<<1)+(r<<3)+(c^48),c=getchar();
return f?-r:r;
}
struct E{
int v,nxt;
E() {}
E(int v,int nxt):v(v),nxt(nxt) {}
}e[maxn<<1];
int n,m,rt=1,ed,s_e,head[maxn],f[maxn];
int fa[maxn],sum[maxn];
int find(int x){
return f[x]^x?f[x]=find(f[x]):x;
}
inline void a_e(int u,int v){
e[++s_e]=E(v,head[u]);
head[u]=s_e;
}
void dfs(int u,int val){
sum[u]=val;
for(int i=head[u];i;i=e[i].nxt){
int v=e[i].v;
if(v==fa[u])continue;
fa[v]=u,dfs(v,-val),sum[u]+=sum[v];
}
}
#define GG return puts("-1"),0
int main(){
n=read<int>();
m=read<int>();
if(n&1)GG;
for(int i=1;i<=n;i++)f[i]=i;
for(int i=1;i<=m;i++){
int u=read<int>();
int v=read<int>();
int x=find(u),y=find(v);
if(x==y){
rt=u,ed=v;
continue;
}
f[y]=x,a_e(u,v),a_e(v,u);
}
dfs(rt,1);
if(n==m){
static int len,a[maxn];
for(int u=ed;u;u=fa[u])a[++len]=sum[u];
if(len&1){
if(sum[rt]&1)GG;
for(int u=ed;u;u=fa[u])
sum[u]-=sum[rt]>>1;
}
else {
if(sum[rt])GG;
std::sort(a+1,a+1+len);
for(int u=ed;u;u=fa[u])
sum[u]-=a[len>>1];
}
}
else if(sum[rt])GG;
long long ans=0;
for(int i=1;i<=n;i++)
ans+=abs(sum[i]);
printf("%lld\n",ans);
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | F - Namori |
| ユーザ | wyzwyz |
| 言語 | C++ (GCC 9.2.1) |
| 得点 | 2200 |
| コード長 | 1366 Byte |
| 結果 | AC |
| 実行時間 | 31 ms |
| メモリ | 12864 KiB |
ジャッジ結果
| セット名 | Sample | Subtask1 | All | ||||||
|---|---|---|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 1500 / 1500 | 700 / 700 | ||||||
| 結果 |
|
|
|
| セット名 | テストケース |
|---|---|
| Sample | 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt |
| Subtask1 | 0_00.txt, 0_01.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt, 1_15.txt, 1_16.txt, 1_17.txt |
| All | 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt, 1_15.txt, 1_16.txt, 1_17.txt, 2_00.txt, 2_01.txt, 2_02.txt, 2_03.txt, 2_04.txt, 2_05.txt, 2_06.txt, 2_07.txt, 2_08.txt, 2_09.txt, 2_10.txt, 2_11.txt, 2_12.txt, 2_13.txt, 2_14.txt, 2_15.txt, 2_16.txt, 2_17.txt, 2_18.txt, 2_19.txt, 2_20.txt, 2_21.txt, 2_22.txt, 2_23.txt, 2_24.txt, 2_25.txt, 2_26.txt, 2_27.txt, 2_28.txt, 2_29.txt, 2_30.txt, 2_31.txt, 2_32.txt, 2_33.txt, 2_34.txt, 2_35.txt, 2_36.txt, 2_37.txt, 2_38.txt, 2_39.txt, 2_40.txt, 2_41.txt, 2_42.txt, 2_43.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 0_00.txt | AC | 9 ms | 1516 KiB |
| 0_01.txt | AC | 2 ms | 1396 KiB |
| 0_02.txt | AC | 1 ms | 1628 KiB |
| 0_03.txt | AC | 1 ms | 1532 KiB |
| 1_00.txt | AC | 1 ms | 1524 KiB |
| 1_01.txt | AC | 31 ms | 12160 KiB |
| 1_02.txt | AC | 18 ms | 6836 KiB |
| 1_03.txt | AC | 15 ms | 4736 KiB |
| 1_04.txt | AC | 23 ms | 8112 KiB |
| 1_05.txt | AC | 20 ms | 7876 KiB |
| 1_06.txt | AC | 21 ms | 7832 KiB |
| 1_07.txt | AC | 19 ms | 6952 KiB |
| 1_08.txt | AC | 27 ms | 8440 KiB |
| 1_09.txt | AC | 17 ms | 4692 KiB |
| 1_10.txt | AC | 19 ms | 4684 KiB |
| 1_11.txt | AC | 18 ms | 4672 KiB |
| 1_12.txt | AC | 22 ms | 4688 KiB |
| 1_13.txt | AC | 2 ms | 1396 KiB |
| 1_14.txt | AC | 25 ms | 4752 KiB |
| 1_15.txt | AC | 20 ms | 4700 KiB |
| 1_16.txt | AC | 1 ms | 1492 KiB |
| 1_17.txt | AC | 17 ms | 4720 KiB |
| 2_00.txt | AC | 1 ms | 1624 KiB |
| 2_01.txt | AC | 27 ms | 12864 KiB |
| 2_02.txt | AC | 20 ms | 8840 KiB |
| 2_03.txt | AC | 15 ms | 5116 KiB |
| 2_04.txt | AC | 26 ms | 8796 KiB |
| 2_05.txt | AC | 26 ms | 8848 KiB |
| 2_06.txt | AC | 25 ms | 8792 KiB |
| 2_07.txt | AC | 27 ms | 8752 KiB |
| 2_08.txt | AC | 29 ms | 8848 KiB |
| 2_09.txt | AC | 17 ms | 4696 KiB |
| 2_10.txt | AC | 18 ms | 4656 KiB |
| 2_11.txt | AC | 20 ms | 4664 KiB |
| 2_12.txt | AC | 18 ms | 4644 KiB |
| 2_13.txt | AC | 1 ms | 1432 KiB |
| 2_14.txt | AC | 29 ms | 4896 KiB |
| 2_15.txt | AC | 19 ms | 4792 KiB |
| 2_16.txt | AC | 1 ms | 1388 KiB |
| 2_17.txt | AC | 20 ms | 4772 KiB |
| 2_18.txt | AC | 2 ms | 1536 KiB |
| 2_19.txt | AC | 24 ms | 8804 KiB |
| 2_20.txt | AC | 14 ms | 5080 KiB |
| 2_21.txt | AC | 31 ms | 12848 KiB |
| 2_22.txt | AC | 25 ms | 8760 KiB |
| 2_23.txt | AC | 27 ms | 8756 KiB |
| 2_24.txt | AC | 26 ms | 8752 KiB |
| 2_25.txt | AC | 27 ms | 8748 KiB |
| 2_26.txt | AC | 25 ms | 8792 KiB |
| 2_27.txt | AC | 18 ms | 4680 KiB |
| 2_28.txt | AC | 19 ms | 4736 KiB |
| 2_29.txt | AC | 22 ms | 4648 KiB |
| 2_30.txt | AC | 20 ms | 4680 KiB |
| 2_31.txt | AC | 1 ms | 1440 KiB |
| 2_32.txt | AC | 18 ms | 4904 KiB |
| 2_33.txt | AC | 19 ms | 4688 KiB |
| 2_34.txt | AC | 2 ms | 1392 KiB |
| 2_35.txt | AC | 23 ms | 4652 KiB |
| 2_36.txt | AC | 16 ms | 4752 KiB |
| 2_37.txt | AC | 16 ms | 5336 KiB |
| 2_38.txt | AC | 14 ms | 5008 KiB |
| 2_39.txt | AC | 18 ms | 4656 KiB |
| 2_40.txt | AC | 14 ms | 4944 KiB |
| 2_41.txt | AC | 14 ms | 4796 KiB |
| 2_42.txt | AC | 15 ms | 4948 KiB |
| 2_43.txt | AC | 20 ms | 4892 KiB |