結果
問題 | No.45 回転寿司 |
ユーザー |
![]() |
提出日時 | 2019-06-14 01:35:06 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 1,226 bytes |
コンパイル時間 | 1,592 ms |
コンパイル使用メモリ | 166,316 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-12-27 20:36:46 |
合計ジャッジ時間 | 2,520 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 30 |
ソースコード
#include<bits/stdc++.h> using namespace std; #define endl '\n' #define ALL(g) (g).begin(),(g).end() #define REP(i, x, n) for(int i = x; i < n; i++) #define rep(i,n) REP(i,0,n) #define F(i,j,k) fill(i[0],i[0]+j*j,k) #define P(p) cout<<(p)<<endl; #define SORT(v) sort(all(v)) #define SORTD(v) sort(all(v), greater<int>()) #define EXIST(s,e) ((s).find(e)!=(s).end()) #define INF 1<<30 #define v(T) vector<T> #define vv(T) v(v(T)) #define print(x) cout<<x<<endl #define printv(v) for(auto i : v){cout<<i<<" ";}cout<<endl #define printu(v) for(auto i : v){print(i);} #define readv(v, n) for (int i=0;i<n;i++)cin >> v[i] typedef vector<int> vi; typedef vector<long long> vl; typedef vector<double> vd; typedef pair<int,int> pii; typedef pair<long,long> pll; typedef long long ll; template<class T>bool chmax(T &a, const T &b) { if (a<b) { a=b; return 1; } return 0; } template<class T>bool chmin(T &a, const T &b) { if (b<a) { a=b; return 1; } return 0; } int i, j, k; int dp[1004]; int main() { cin.tie(0); ios::sync_with_stdio(false); int n; cin >> n; rep(i, n) { int k; cin >> k; dp[i + 3] = k; } REP(i, 3, n + 3) { dp[i] = std::max({dp[i] + dp[i - 2], dp[i - 1], dp[i - 3]}); } print(dp[n + 2]); return 0; }