提出 #27976873
ソースコード 拡げる
#include<bits/stdc++.h>
#define P 1000000007
#define N 1000005
inline int fmo(int x){
return x+((x>>31)&P);
}
int n,a[N],b[N];
int c[N<<1];
std::stack<int> st;
int g[N],sz[N];
inline int Fnd(int x){
return g[x]?g[x]=Fnd(g[x]):x;
}
int f[N<<1];
inline int fnd(int x){
return f[x]?f[x]=fnd(f[x]):x;
}
inline void mrg(int u,int v){
u=fnd(u),v=fnd(v);
if(u==v)
return;
f[u]=v;
}
int ans=1;
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d%d",&a[i],&b[i]);
c[a[i]]=i,c[b[i]]=-i;
}
for(int i=1;i<=n+n;i++)
if(c[i]>0)
st.push(c[i]),sz[c[i]]=1;
else{
int u=-c[i],x=Fnd(u),w=0;
while(st.size()){
int v=st.top();
if(x==v){
if(!--sz[v])
st.pop();
break;
}
st.pop();
if(w){
if(b[w]>b[v])
return puts("0"),0;
g[w]=v,sz[v]+=sz[w];
}
w=v;
mrg(u,v+n),mrg(u+n,v);
}
if(w)
st.push(w);
}
for(int i=1;i<=n;i++)
if(fnd(i)==fnd(i+n))
return puts("0"),0;
for(int i=1;i<=n;i++)
if(!f[i])
ans=fmo(ans+ans-P);
printf("%d\n",ans);
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | B - 港湾設備 (Port Facility) |
| ユーザ | Y25t |
| 言語 | C++ (GCC 9.2.1) |
| 得点 | 100 |
| コード長 | 1110 Byte |
| 結果 | AC |
| 実行時間 | 386 ms |
| メモリ | 62292 KiB |
コンパイルエラー
./Main.cpp: In function ‘int main()’:
./Main.cpp:33:7: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
33 | scanf("%d",&n);
| ~~~~~^~~~~~~~~
./Main.cpp:35:8: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
35 | scanf("%d%d",&a[i],&b[i]);
| ~~~~~^~~~~~~~~~~~~~~~~~~~
ジャッジ結果
| セット名 | Subtask01 | Subtask02 | Subtask03 | Subtask04 | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 得点 / 配点 | 10 / 10 | 12 / 12 | 56 / 56 | 22 / 22 | ||||||||
| 結果 |
|
|
|
|
| セット名 | テストケース |
|---|---|
| Subtask01 | sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt |
| Subtask02 | sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, 02-14.txt, 02-15.txt, 02-16.txt, 02-17.txt, 02-18.txt, 02-19.txt, 02-20.txt |
| Subtask03 | sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, 02-14.txt, 02-15.txt, 02-16.txt, 02-17.txt, 02-18.txt, 02-19.txt, 02-20.txt, 03-01.txt, 03-02.txt, 03-03.txt, 03-04.txt, 03-05.txt, 03-06.txt, 03-07.txt, 03-08.txt, 03-09.txt, 03-10.txt, 03-11.txt, 03-12.txt, 03-13.txt, 03-14.txt, 03-15.txt, 03-16.txt, 03-17.txt, 03-18.txt, 03-19.txt, 03-20.txt, 03-21.txt, 03-22.txt, 03-23.txt, 03-24.txt, 03-25.txt, 03-26.txt, 03-27.txt, 03-28.txt, 03-29.txt, 03-30.txt, 03-31.txt, 03-32.txt, 03-33.txt, 03-34.txt, 03-35.txt |
| Subtask04 | sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, 02-14.txt, 02-15.txt, 02-16.txt, 02-17.txt, 02-18.txt, 02-19.txt, 02-20.txt, 03-01.txt, 03-02.txt, 03-03.txt, 03-04.txt, 03-05.txt, 03-06.txt, 03-07.txt, 03-08.txt, 03-09.txt, 03-10.txt, 03-11.txt, 03-12.txt, 03-13.txt, 03-14.txt, 03-15.txt, 03-16.txt, 03-17.txt, 03-18.txt, 03-19.txt, 03-20.txt, 03-21.txt, 03-22.txt, 03-23.txt, 03-24.txt, 03-25.txt, 03-26.txt, 03-27.txt, 03-28.txt, 03-29.txt, 03-30.txt, 03-31.txt, 03-32.txt, 03-33.txt, 03-34.txt, 03-35.txt, 04-01.txt, 04-02.txt, 04-03.txt, 04-04.txt, 04-05.txt, 04-06.txt, 04-07.txt, 04-08.txt, 04-09.txt, 04-10.txt, 04-11.txt, 04-12.txt, 04-13.txt, 04-14.txt, 04-15.txt, 04-16.txt, 04-17.txt, 04-18.txt, 04-19.txt, 04-20.txt, 04-21.txt, 04-22.txt, 04-23.txt, 04-24.txt, 04-25.txt, 04-26.txt, 04-27.txt, 04-28.txt, 04-29.txt, 04-30.txt, 04-31.txt, 04-32.txt, 04-33.txt, 04-34.txt, 04-35.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 01-01.txt | AC | 9 ms | 3648 KiB |
| 01-02.txt | AC | 2 ms | 3704 KiB |
| 01-03.txt | AC | 2 ms | 3648 KiB |
| 01-04.txt | AC | 2 ms | 3724 KiB |
| 01-05.txt | AC | 2 ms | 3828 KiB |
| 01-06.txt | AC | 5 ms | 3792 KiB |
| 01-07.txt | AC | 2 ms | 3828 KiB |
| 01-08.txt | AC | 2 ms | 3828 KiB |
| 01-09.txt | AC | 2 ms | 3768 KiB |
| 01-10.txt | AC | 2 ms | 3792 KiB |
| 01-11.txt | AC | 2 ms | 3572 KiB |
| 01-12.txt | AC | 2 ms | 3696 KiB |
| 01-13.txt | AC | 2 ms | 3728 KiB |
| 01-14.txt | AC | 2 ms | 3684 KiB |
| 01-15.txt | AC | 2 ms | 3764 KiB |
| 01-16.txt | AC | 2 ms | 3656 KiB |
| 01-17.txt | AC | 2 ms | 3668 KiB |
| 01-18.txt | AC | 2 ms | 3828 KiB |
| 01-19.txt | AC | 2 ms | 3700 KiB |
| 01-20.txt | AC | 2 ms | 3720 KiB |
| 01-21.txt | AC | 2 ms | 3648 KiB |
| 01-22.txt | AC | 2 ms | 3724 KiB |
| 01-23.txt | AC | 2 ms | 3720 KiB |
| 01-24.txt | AC | 2 ms | 3524 KiB |
| 02-01.txt | AC | 3 ms | 3784 KiB |
| 02-02.txt | AC | 2 ms | 3824 KiB |
| 02-03.txt | AC | 2 ms | 3820 KiB |
| 02-04.txt | AC | 3 ms | 3796 KiB |
| 02-05.txt | AC | 2 ms | 3840 KiB |
| 02-06.txt | AC | 2 ms | 3700 KiB |
| 02-07.txt | AC | 3 ms | 3884 KiB |
| 02-08.txt | AC | 3 ms | 3712 KiB |
| 02-09.txt | AC | 2 ms | 3580 KiB |
| 02-10.txt | AC | 2 ms | 3772 KiB |
| 02-11.txt | AC | 2 ms | 3864 KiB |
| 02-12.txt | AC | 8 ms | 3688 KiB |
| 02-13.txt | AC | 4 ms | 3784 KiB |
| 02-14.txt | AC | 3 ms | 3700 KiB |
| 02-15.txt | AC | 2 ms | 3696 KiB |
| 02-16.txt | AC | 2 ms | 3756 KiB |
| 02-17.txt | AC | 2 ms | 3832 KiB |
| 02-18.txt | AC | 2 ms | 3888 KiB |
| 02-19.txt | AC | 2 ms | 3684 KiB |
| 02-20.txt | AC | 2 ms | 3904 KiB |
| 03-01.txt | AC | 41 ms | 6984 KiB |
| 03-02.txt | AC | 33 ms | 6956 KiB |
| 03-03.txt | AC | 39 ms | 7096 KiB |
| 03-04.txt | AC | 38 ms | 7028 KiB |
| 03-05.txt | AC | 38 ms | 7032 KiB |
| 03-06.txt | AC | 34 ms | 6884 KiB |
| 03-07.txt | AC | 34 ms | 6924 KiB |
| 03-08.txt | AC | 28 ms | 5744 KiB |
| 03-09.txt | AC | 32 ms | 6096 KiB |
| 03-10.txt | AC | 31 ms | 6064 KiB |
| 03-11.txt | AC | 32 ms | 5880 KiB |
| 03-12.txt | AC | 31 ms | 5676 KiB |
| 03-13.txt | AC | 34 ms | 6552 KiB |
| 03-14.txt | AC | 26 ms | 5636 KiB |
| 03-15.txt | AC | 30 ms | 6552 KiB |
| 03-16.txt | AC | 36 ms | 7024 KiB |
| 03-17.txt | AC | 38 ms | 6968 KiB |
| 03-18.txt | AC | 31 ms | 6560 KiB |
| 03-19.txt | AC | 32 ms | 6828 KiB |
| 03-20.txt | AC | 36 ms | 6752 KiB |
| 03-21.txt | AC | 29 ms | 5876 KiB |
| 03-22.txt | AC | 32 ms | 5788 KiB |
| 03-23.txt | AC | 37 ms | 7016 KiB |
| 03-24.txt | AC | 35 ms | 7108 KiB |
| 03-25.txt | AC | 39 ms | 7040 KiB |
| 03-26.txt | AC | 37 ms | 6924 KiB |
| 03-27.txt | AC | 36 ms | 8812 KiB |
| 03-28.txt | AC | 37 ms | 8740 KiB |
| 03-29.txt | AC | 38 ms | 9332 KiB |
| 03-30.txt | AC | 38 ms | 9392 KiB |
| 03-31.txt | AC | 36 ms | 8248 KiB |
| 03-32.txt | AC | 39 ms | 9572 KiB |
| 03-33.txt | AC | 38 ms | 9480 KiB |
| 03-34.txt | AC | 35 ms | 7128 KiB |
| 03-35.txt | AC | 39 ms | 7028 KiB |
| 04-01.txt | AC | 373 ms | 36900 KiB |
| 04-02.txt | AC | 353 ms | 36832 KiB |
| 04-03.txt | AC | 356 ms | 36800 KiB |
| 04-04.txt | AC | 304 ms | 36868 KiB |
| 04-05.txt | AC | 297 ms | 36800 KiB |
| 04-06.txt | AC | 256 ms | 36700 KiB |
| 04-07.txt | AC | 228 ms | 36492 KiB |
| 04-08.txt | AC | 216 ms | 23240 KiB |
| 04-09.txt | AC | 218 ms | 27264 KiB |
| 04-10.txt | AC | 216 ms | 27212 KiB |
| 04-11.txt | AC | 212 ms | 25236 KiB |
| 04-12.txt | AC | 200 ms | 25144 KiB |
| 04-13.txt | AC | 266 ms | 31088 KiB |
| 04-14.txt | AC | 213 ms | 23160 KiB |
| 04-15.txt | AC | 244 ms | 36396 KiB |
| 04-16.txt | AC | 308 ms | 35996 KiB |
| 04-17.txt | AC | 301 ms | 36140 KiB |
| 04-18.txt | AC | 239 ms | 36228 KiB |
| 04-19.txt | AC | 245 ms | 35752 KiB |
| 04-20.txt | AC | 217 ms | 34996 KiB |
| 04-21.txt | AC | 206 ms | 25148 KiB |
| 04-22.txt | AC | 205 ms | 25292 KiB |
| 04-23.txt | AC | 283 ms | 37064 KiB |
| 04-24.txt | AC | 284 ms | 37000 KiB |
| 04-25.txt | AC | 306 ms | 36376 KiB |
| 04-26.txt | AC | 297 ms | 36260 KiB |
| 04-27.txt | AC | 332 ms | 54572 KiB |
| 04-28.txt | AC | 314 ms | 54540 KiB |
| 04-29.txt | AC | 359 ms | 59872 KiB |
| 04-30.txt | AC | 386 ms | 59876 KiB |
| 04-31.txt | AC | 328 ms | 51516 KiB |
| 04-32.txt | AC | 323 ms | 62292 KiB |
| 04-33.txt | AC | 315 ms | 62288 KiB |
| 04-34.txt | AC | 344 ms | 36752 KiB |
| 04-35.txt | AC | 356 ms | 36836 KiB |
| sample-01.txt | AC | 7 ms | 3716 KiB |
| sample-02.txt | AC | 2 ms | 3596 KiB |
| sample-03.txt | AC | 2 ms | 3668 KiB |
| sample-04.txt | AC | 2 ms | 3828 KiB |