結果
問題 | No.193 筒の数式 |
ユーザー | kohaku_kohaku |
提出日時 | 2016-12-09 04:19:38 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 139 ms / 1,000 ms |
コード長 | 1,325 bytes |
コンパイル時間 | 2,416 ms |
コンパイル使用メモリ | 80,236 KB |
実行使用メモリ | 55,840 KB |
最終ジャッジ日時 | 2024-11-28 16:10:01 |
合計ジャッジ時間 | 5,952 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 16 |
ソースコード
import java.util.*;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String S = sc.next();String [] arr = S.split("");int L = S.length();int max=Integer.MIN_VALUE;for(int j=0; j<L; j++){String t = "";for(int i=0; i<L; i++){t+=arr[(i+j)%L];}int a=t.charAt(0);int z=t.charAt(L-1);if(a>='0'&&a<='9'&&z>='0'&&z<='9'){int num = cal(t);max=Math.max(max,num);}}System.out.println(max);}static int cal(String S){String [] integer = S.split("[+-]");int N = integer.length;int [] z = new int [N];for(int i=0; i<N; i++){z[i]=Integer.parseInt(integer[i]);}int r = z[0];int [] sign = new int [N-1];int j=0;for(int i=0; i<S.length(); i++){int tmp=S.charAt(i);if(tmp=='+'||tmp=='-'){sign[j]=tmp;j++;}}for(int i=0; i<N-1; i++){if(sign[i]=='+'){r+=z[i+1];}else{r-=z[i+1];}}return r;}}