結果
| 問題 |
No.629 グラフの中に眠る門松列
|
| コンテスト | |
| ユーザー |
KoshStorm
|
| 提出日時 | 2018-01-05 22:25:58 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,450 bytes |
| コンパイル時間 | 1,944 ms |
| コンパイル使用メモリ | 175,684 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-12-23 06:48:28 |
| 合計ジャッジ時間 | 3,265 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 6 |
| other | AC * 33 WA * 3 |
ソースコード
#include <bits/stdc++.h>
#define REP(i,n) for (int i=0;i<(n);i++)
#define FOR(i,a,b) for (int i=(a);i<(b);i++)
#define dump1d_arr(array) REP(i,array.size()) cerr << #array << "[" << (i) << "] ==> " << (array[i]) << endl;
#define dump2d_arr(array) REP(i,array.size()) REP(j,array[i].size()) cerr << #array << "[" << (i) << "]" << "[" << (j) << "] ==> " << (array[i][j]) << endl;
#define dump(x) cerr << #x << " => " << (x) << endl;
#define CLR(vec) { REP(i,vec.size()) vec[i] = 0; }
#define loINF (long)10000000000
#define shINF (short)10000
#define SORT(c) sort((c).begin(),(c).end())
using namespace std;
typedef vector<int> VI;
typedef vector<VI> VVI;
typedef vector<long long> VL;
int main(void){
short N,M;
cin >> N >> M;
VI a(N+1);
VVI edge(N+1,VI(0));
REP(i,N) cin >> a[i];
short u,v;
REP(i,M){
cin >> u >> v;
edge[u].push_back(v);
edge[v].push_back(u);
}
VL low;
VL big;
short l,b;
FOR(i,1,N+1){
l = 0;
b = 0;
low = VL(0);
big = VL(0);
REP(j,edge[i].size()){
if (a[edge[i][j]-1] < a[i-1]){
l ++;
REP(k,low.size()){
if (low[k] == a[edge[i][j]-1]){
l--;
break;
}
}
low.push_back(l);
}
if (a[edge[i][j]-1] > a[i-1]){
b++;
REP(k,big.size()){
if (big[k] == a[edge[i][j]-1]){
b--;
break;
}
}
big.push_back(b);
}
}
if (l >= 2 || b >= 2){
cout << "YES" << endl;
exit(0);
}
}
cout << "NO" << endl;
return 0;
}
KoshStorm