結果
問題 |
No.406 鴨等間隔の法則
|
ユーザー |
![]() |
提出日時 | 2019-06-07 14:26:03 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 54 ms / 2,000 ms |
コード長 | 1,340 bytes |
コンパイル時間 | 1,796 ms |
コンパイル使用メモリ | 178,916 KB |
実行使用メモリ | 8,704 KB |
最終ジャッジ日時 | 2024-07-07 12:39:47 |
合計ジャッジ時間 | 3,443 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 29 |
ソースコード
#include <bits/stdc++.h> using namespace std; typedef long long ll; #define dump(x) cout << #x << " = " << (x) << endl #define YES(n) cout << ((n) ? "YES" : "NO" ) << endl #define Yes(n) cout << ((n) ? "Yes" : "No" ) << endl #define POSSIBLE(n) cout << ((n) ? "POSSIBLE" : "IMPOSSIBLE" ) << endl #define Possible(n) cout << ((n) ? "Possible" : "Impossible" ) << endl #define rep(i, n) REP(i, 0, n) // 0, 1, ..., n-1 #define REP(i, x, n) for(int i = x; i < n; i++) // x, x + 1, ..., n-1 #define FOREACH(x,a) for(auto& (x) : (a) ) #define ALL(v) (v).begin() , (v).end() #define RALL(v) (v).rbegin(), (v).rend() #define COUT(x) cout << (x) << endl template<class T> inline bool chmax(T& a, T b) { if (a < b) { a = b; return 1; } return 0; } template<class T> inline bool chmin(T& a, T b) { if (a > b) { a = b; return 1; } return 0; } int main(){ cin.tie(0); ios::sync_with_stdio(false); int n; cin >> n; vector<ll> v(n); map<int, int> m; rep(i, n) { cin >> v[i]; m[v[i]]++; } sort(ALL(v)); ll haba = abs(v[1] - v[0]); int f = 0; for(int i = 1; i < n - 1; i++) { if(v[i + 1] - v[i] != haba) f = 1; } for(pair<int, int> x : m) { if(x.second > 1) f = 1; } if(f) COUT("NO"); else COUT("YES"); }