結果
| 問題 | 
                            No.193 筒の数式
                             | 
                    
| コンテスト | |
| ユーザー | 
                             akakimidori
                         | 
                    
| 提出日時 | 2016-12-10 20:43:27 | 
| 言語 | C90  (gcc 12.3.0)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 1 ms / 1,000 ms | 
| コード長 | 776 bytes | 
| コンパイル時間 | 193 ms | 
| コンパイル使用メモリ | 21,120 KB | 
| 実行使用メモリ | 6,820 KB | 
| 最終ジャッジ日時 | 2024-11-29 02:02:22 | 
| 合計ジャッジ時間 | 997 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge3 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 16 | 
コンパイルメッセージ
main.c: In function ‘run’:
main.c:5:3: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    5 |   scanf("%s",s);
      |   ^~~~~~~~~~~~~
            
            ソースコード
#include<stdio.h>
void run(void){
  char s[11];
  scanf("%s",s);
  int len=0;
  while(s[len]!='\0'){
    len++;
  }
  int max=-99999999;
  int i;
  for(i=0;i<len;i++){
    if(s[i]>='0'&&s[i]<='9'&&s[(i+1)%len]>='0'&&s[(i+1)%len]<='9'){
      int j=(i+1)%len;
      int d=0;
      while(s[j]!='+'&&s[j]!='-'){
        d=10*d+(s[j]-'0');
        j=(j+1)%len;
      }
      int p=s[j]=='+'?1:-1;
      int t=0;
      j=(j+1)%len;
      while(j!=(i+1)%len){
        if(s[j]=='+'||s[j]=='-'){
          d+=p*t;
          t=0;
          p=s[j]=='+'?1:-1;
        } else {
          t=10*t+(s[j]-'0');
        }
        j=(j+1)%len;
      }
      d+=p*t;
      if(max<d){
        max=d;
      }
    }
  }
  printf("%d\n",max);
  return;
}
int main(void){
  run();
  return 0;
}
            
            
            
        
            
akakimidori