結果
問題 | No.451 575 |
ユーザー |
|
提出日時 | 2016-12-02 18:35:14 |
言語 | C90 (gcc 12.3.0) |
結果 |
AC
|
実行時間 | 30 ms / 2,000 ms |
コード長 | 656 bytes |
コンパイル時間 | 214 ms |
コンパイル使用メモリ | 21,120 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-12-16 11:04:40 |
合計ジャッジ時間 | 2,233 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 29 |
コンパイルメッセージ
main.c: In function ‘main’: main.c:19:9: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 19 | scanf("%lld",&n); | ^~~~~~~~~~~~~~~~ main.c:22:17: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 22 | scanf("%lld",&s); | ^~~~~~~~~~~~~~~~
ソースコード
#include<stdio.h>#define K 5000000000000000000void prans(long long x,long long y[],long long z){long long i;printf("%lld\n",x);for(i = 1;i <= x;i++){if(i%4 < 2){printf("%lld\n",y[i]+z);}else{printf("%lld\n",y[i]-z);}}}int main(void){long long n,s,i,a[131072],pmin=1,mmin=K,t;scanf("%lld",&n);a[1] = 1;for(i = 1;i <= n;i++){scanf("%lld",&s);if(i%2){a[i+1] = s - a[i];}else{a[i+1] = a[i] - s;}if((i+1)%4 < 2){if(a[i+1] < pmin){pmin = a[i+1];}}else{if(a[i+1] < mmin){mmin = a[i+1];}}}if(mmin < 1){printf("-1\n");return 0;}if(mmin-1 < 1-pmin){printf("-1\n");return 0;}prans(n+1,a,1-pmin);return 0;}