結果

問題 No.451 575
ユーザー fal_rnd
提出日時 2016-12-04 01:15:40
言語 Java
(openjdk 23)
結果
AC  
実行時間 1,292 ms / 2,000 ms
コード長 862 bytes
コンパイル時間 2,376 ms
コンパイル使用メモリ 77,424 KB
実行使用メモリ 57,636 KB
最終ジャッジ日時 2024-12-16 11:15:16
合計ジャッジ時間 18,015 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 29
権限があれば一括ダウンロードができます

ソースコード

diff #

package src;

import java.util.*;
class B{
	static Scanner s = new Scanner(System.in);
	public static void main(String[] args) {
		long[] in  = new long[s.nextInt()];
		long[] out = new long[in.length+1];
		long buf=1;
		out[0]=buf;

		for(int i=0;i<in.length;++i) {
			in[i]=Long.parseLong(s.next());
			if(i%2==0) {
				buf=(out[i+1]=in[i]-buf);
			}else {
				buf=(out[i+1]=buf-in[i]);
			}
		}

		long b1=Long.MAX_VALUE;
		for(int i=0;i<out.length;i++) {
			if((i+1)%4>=2)
				b1=Math.min(b1, out[i]);
		}

		buf=b1;
		out[0]=buf;
		for(int i=0;i<in.length;++i) {
			if(i%2==0) {
				buf=(out[i+1]=in[i]-buf);
			}else {
				buf=(out[i+1]=buf-in[i]);
			}
		}


		for(int i=0;i<out.length;i++)
			if(out[i]<1) {
				System.out.println(-1);
				return;
			}
		System.out.println(out.length);
		for(int i=0;i<out.length;i++)
			System.out.println(out[i]);
	}
}
0