結果
問題 | No.1219 Mancala Combo |
ユーザー |
|
提出日時 | 2020-09-05 08:45:45 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 20 ms / 2,000 ms |
コード長 | 2,067 bytes |
コンパイル時間 | 1,514 ms |
コンパイル使用メモリ | 168,856 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-27 17:11:15 |
合計ジャッジ時間 | 2,539 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 26 |
ソースコード
#include <bits/stdc++.h>using namespace std;#define REP(i,m,n) for(int i=(m); i<(int)(n); i++)#define RREP(i,m,n) for(int i=(int)((n)-1); i>=m; i--)#define rep(i,n) REP(i,0,n)#define rrep(i,n) RREP(i,0,n)#define all(a) (a).begin(),(a).end()#define rall(a) (a).rbegin(),(a).rend()#define fi first#define se second#define debug(...) {cerr<<"[L"<<__LINE__<<"] "; _debug(__VA_ARGS__);}template<typename T>string join(const vector<T>&v, string del=", "){ stringstream s;for(auto x : v) s << del << x; return s.str().substr(del.size());}template<typename T>ostream& operator<<(ostream& o, const vector<T>&v){if(v.size()) o << "[" << join(v) << "]"; return o;}template<typename T>ostream& operator<<(ostream& o, const vector<vector<T> >&vv){int l = vv.size();if(l){ o<<endl; rep(i,l) o << (i==0 ? "[ " : ",\n " ) << vv[i] << (i==l-1 ? " ]" : ""); }return o;}template<typename T1, typename T2>ostream& operator<<(ostream& o, const pair<T1, T2>& p){return o << "(" << p.first << ", " << p.second << ")";}inline void _debug(){cerr<<endl;}template<class First, class... Rest>void _debug(const First& first, const Rest&... rest){cerr<<first<<" ";_debug(rest...);}typedef long long ll;typedef pair<int, int> pii;typedef pair<ll, ll> pll;typedef vector<int> vi;typedef vector<vi> vvi;typedef vector<ll> vl;typedef vector<vl> vvl;const double PI = (1*acos(0.0));const double EPS = 1e-9;const int INF = 0x3f3f3f3f;const ll INFL = 0x3f3f3f3f3f3f3f3fLL;const ll mod = 1e9 + 7;inline void finput(string filename) {freopen(filename.c_str(), "r", stdin);}int main(){ios_base::sync_with_stdio(0);// finput("./input");int n; cin >> n;vl a(n+1);REP(i,1,n+1) cin >> a[i];ll x = 0;string ans = "Yes";RREP(i,1,n+1){if(a[i] > i){ans = "No";break;}if((a[i] + x) % i == 0){x += (a[i] + x) / i;}else{ans = "No";break;}}cout << ans << endl;return 0;}