結果
問題 | No.193 筒の数式 |
ユーザー | ki_ki33 |
提出日時 | 2015-04-26 22:55:38 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 138 ms / 1,000 ms |
コード長 | 1,477 bytes |
コンパイル時間 | 2,773 ms |
コンパイル使用メモリ | 89,976 KB |
実行使用メモリ | 54,316 KB |
最終ジャッジ日時 | 2024-07-05 03:14:46 |
合計ジャッジ時間 | 5,574 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 16 |
ソースコード
import java.awt.Point;import java.awt.Rectangle;import java.awt.geom.Rectangle2D;import java.io.BufferedInputStream;import java.io.IOException;import java.math.BigDecimal;import java.math.BigInteger;import java.util.*;import java.util.Map.Entry;import java.util.concurrent.ConcurrentSkipListSet;public class Main {public static final int C = 1000000007;static final int CY = 1000000000;public void calc() {StringBuilder sb = new StringBuilder();BufferedInputStream bs = new BufferedInputStream(System.in);Scanner sc = new Scanner(bs);String s = sc.next();int ans = Integer.MIN_VALUE;//double ans = 0.0;for (int i=0; i < s.length(); i++) {String ns = "";ns += s.substring(i);ns += s.substring(0, i);//System.out.println(ns);ans = Math.max(ans, msd(ns));}System.out.println(ans);}int msd(String s) {if (s.endsWith("+") || s.endsWith("-") || s.startsWith("+") || s.startsWith("-")) {return Integer.MIN_VALUE;}int ret = 0;String[] ss = s.split("\\+");for (String str: ss) {//System.out.println(str);int num = 0;String[] sst = str.split("-");for (int i=0; i < sst.length;i++) {//System.out.println(sst[i]);if (i==0) {num += Integer.parseInt(sst[i]);}else {num -= Integer.parseInt(sst[i]);}}ret += num;}return ret;}public static void main(String[] args) {Main main = new Main();main.calc();}}