結果
問題 |
No.451 575
|
ユーザー |
![]() |
提出日時 | 2023-05-21 01:35:52 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,424 bytes |
コンパイル時間 | 1,851 ms |
コンパイル使用メモリ | 196,004 KB |
最終ジャッジ日時 | 2025-02-13 03:53:57 |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 9 WA * 20 |
ソースコード
#include <bits/stdc++.h> using namespace std; using ll=long long; using ld=long double; ld pie=3.141592653589793; ll inf=300000000; ll mod=998244353; int main(){ ll n; cin >> n; vector<ll>b(n); ll d=1000000000000000000; for (ll i = 0; i < n; i++) { cin >> b[i]; } ll now=0; bool ok=true; ll pl=1,mn=d; if (n==1&&b[0]==1) { cout << -1 << endl; return 0; } for (ll i = 1; i < n; i+=2) { now*=-1; now+=b[i-1]-b[i]; if ((i/2)%2==0) { if (d-now<=0||2*d<-now) { ok=false; break; } pl=max(pl,-d-now); mn=min(mn,d-now); }else{ if (d-now<=0||2*d<-now) { ok=false; break; } pl=max(pl,now-d); mn=min(now+d,mn); } } if (!ok) { cout << -1 << endl; return 0;; } if (pl>mn) { cout << -1 << endl; return 0; } ll nn=pl; cout << n+1 << endl; cout << nn << endl; for (ll i = 0; i < n; i++) { if (i%2==0) { nn*=-1; nn+=b[i]; }else{ nn-=b[i]; } cout << nn << endl; } }