結果
問題 |
No.451 575
|
ユーザー |
![]() |
提出日時 | 2021-04-01 13:28:33 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 205 ms / 2,000 ms |
コード長 | 788 bytes |
コンパイル時間 | 1,958 ms |
コンパイル使用メモリ | 170,540 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-12-17 17:29:51 |
合計ジャッジ時間 | 5,369 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 29 |
ソースコード
#include <bits/stdc++.h> using namespace std; int main(){ int N; cin>>N; vector<long long> b(N); for(int i=0;i<N;i++){ cin>>b[i]; } vector<long long> a(N+1); for(int i=1;i<N+1;i++){ if(i%2){ a[i]=b[i-1]-a[i-1]; }else{ a[i]=-b[i-1]+a[i-1]; } } long long M=a[0]; for(int i=3;i<N+1;i+=4){ for(int j=i;(j<=i+1)&&(j<N+1);j++){ M=min(a[j],M); } } a[0]=1-M; for(int i=1;i<N+1;i++){ if(i%2){ a[i]=b[i-1]-a[i-1]; }else{ a[i]=-b[i-1]+a[i-1]; } if(a[i]<=0){ cout<<-1<<endl; return 0; } } cout<<N+1<<endl; for(int i=0;i<N+1;i++){ cout<<a[i]<<endl; } }