結果
問題 |
No.45 回転寿司
|
ユーザー |
![]() |
提出日時 | 2025-04-15 01:07:16 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 5,000 ms |
コード長 | 964 bytes |
コンパイル時間 | 3,993 ms |
コンパイル使用メモリ | 275,428 KB |
実行使用メモリ | 7,844 KB |
最終ジャッジ日時 | 2025-04-15 01:07:22 |
合計ジャッジ時間 | 4,380 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 30 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define vi vector<int> #define vs vector<string> #define int long long int #define pii pair<int,int> #define pb push_back #define f(i,a,b) for(int i=a;i<b;i++) #define ff first #define s second #define nl cout<<endl; #define print(a) cout<<a<<"\n"; #define all(a) (a).begin(), (a).end() #define parr(a) f(mnb,0,a.size()){cout<<a[mnb]<<" ";}cout<<endl; #define rarr(a) f(yon,0,a.size()){cin>>a[yon];} #define imx INT_MAX #define imn INT_MIN #define YN(a) cout << ((a)? "YES\n" : "NO\n"); const int MOD = 1e9+7; void solve(){ int n; cin >> n; vi A(n); rarr(A); vi dp(n + 1); dp[0] = A[0]; f(i,1,n){ if(i >= 2) dp[i] = max(A[i] + dp[i - 2], dp[i - 1]); else dp[i] = max(A[i], dp[i - 1]); } //parr(dp) cout << dp[n - 1] << endl; } signed main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); int t=1; // cin>>t; while(t--){ solve(); } }