結果
問題 |
No.482 あなたの名は
|
ユーザー |
![]() |
提出日時 | 2017-07-25 15:03:08 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 518 bytes |
コンパイル時間 | 1,188 ms |
コンパイル使用メモリ | 157,976 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-10-09 17:06:00 |
合計ジャッジ時間 | 2,670 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 25 WA * 3 |
コンパイルメッセージ
main.cpp:3:1: warning: ISO C++ forbids declaration of ‘main’ with no type [-Wreturn-type] 3 | main(){ | ^~~~ main.cpp: In function ‘int main()’: main.cpp:6:10: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 6 | scanf("%d%d",&N,&K); | ~~~~~^~~~~~~~~~~~~~ main.cpp:8:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 8 | scanf("%d",&D[i]); | ~~~~~^~~~~~~~~~~~
ソースコード
#include<bits/stdc++.h> int flag[200000]; main(){ int N,K; int D[200000]; scanf("%d%d",&N,&K); for(int i = 0;i < N;i++){ scanf("%d",&D[i]); } int count = 0; for(int i = 0;i < N;i++){ if(D[i]==i+1)continue; if(flag[i])continue; while(!flag[i]){ count++; flag[i] = 1; i = D[i]-1; } count--; } if(count > K){ printf("NO\n"); return 0; } printf("%s\n",(K-count)%2?"NO":"YES"); }