結果
| 問題 |
No.193 筒の数式
|
| コンテスト | |
| ユーザー |
spacia
|
| 提出日時 | 2016-01-09 11:30:24 |
| 言語 | Java (openjdk 23) |
| 結果 |
AC
|
| 実行時間 | 90 ms / 1,000 ms |
| コード長 | 1,135 bytes |
| コンパイル時間 | 3,093 ms |
| コンパイル使用メモリ | 77,864 KB |
| 実行使用メモリ | 40,448 KB |
| 最終ジャッジ日時 | 2024-09-19 13:15:10 |
| 合計ジャッジ時間 | 4,398 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 16 |
ソースコード
import java.io.*;
import java.util.*;
class Main {
public static void out (Object o) {
System.out.println(o);
}
public static int calc (String s) {
//out("calc:" + s);
int ret = 0 , work = 0 , i = 0 , len = s.length();
boolean addFlg = true;
while (i < len) {
while (i < len && s.charAt(i) != '+' && s.charAt(i) != '-')
work = work * 10 + (s.charAt(i++) - '0');
ret = addFlg ? ret + work : ret - work;
//out("ret : " + ret + "\ti : " + i);
work = 0;
if (i < len)
addFlg = s.charAt(i++) == '+';
}
return ret;
}
public static int solve (String s) {
int ret = Integer.MIN_VALUE;
int len = s.length();
for (int i = 0; i < len; i++) {
String t = "";
for (int j = 0; j < len; j++) {
t += s.charAt((i + j) % len) + "";
}
if (!(t.charAt(0) + "").matches("[0-9]") ||
!(t.charAt(len - 1) + "").matches("[0-9]")) {
continue;
}
ret = Math.max(ret , calc(t));
}
return ret;
}
public static void main (String[] args) throws IOException {
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
out(solve(br.readLine()));
}
}
spacia