結果

問題 No.78 クジ付きアイスバー
ユーザー chiho_miyako
提出日時 2015-04-16 20:40:02
言語 Java
(openjdk 23)
結果
WA  
実行時間 -
コード長 1,322 bytes
コンパイル時間 2,095 ms
コンパイル使用メモリ 77,716 KB
実行使用メモリ 55,924 KB
最終ジャッジ日時 2024-10-06 17:05:58
合計ジャッジ時間 8,413 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 26 WA * 9
権限があれば一括ダウンロードができます

ソースコード

diff #

import java.util.*;

public class Main {
   public static void main(String[] args) throws Exception {
       Scanner koko = new Scanner(System.in);
       int n = koko.nextInt();
       long k = koko.nextInt();
       String s = koko.next();
       int had=0;
       int[] paid = new int[n];
       int atari=0;
       paid[0]=1;
       if(s.charAt(0)=='1'){
           atari=1;
       }else if(s.charAt(0)=='2'){
           atari=2;
       }
       for(int i=1; i<n; i++){
           paid[i]=paid[i-1]+1;
           if(atari>0){
               paid[i]--;
               atari--;
           }
           if(s.charAt(i)=='1'){
               atari++;
           }else if(s.charAt(i)=='2'){
               atari+=2;
           }
       }
       if(atari>=paid[n-1]){
           System.out.println(paid[n-1]);
       }else if(atari==0){
           int amari = (int)k%n;
           int ama=0;
           if(amari!=0){
               ama=paid[amari-1];
           }
           long rpay = (paid[n-1]*(k-amari)/n)+ama;
           System.out.println(rpay);
       }else{
           int amari=(int)k%n;
           int ama=0;
           if(amari!=0){
               ama=paid[amari-1]-atari;
           }
           long rpay = 1+(paid[n-1]-atari)*(k-amari)/n+ama;
           System.out.println(rpay);
       }
       
   }       
}
0