以下の問題のに対するコードを作成しましたが、求めている結果になりません。
問題の箇所ですが、入力例3に対して、-1を出力したいが、3が出力されてしまいます。
不勉強で申し訳ありませんが、コードの訂正をご教示いただけますでしょうか。
お忙しいところ恐縮ですがよろしくお願いします。
高橋君はお酒を N 杯飲みました。
i 番目に飲んだお酒は、量が Vi ml、アルコール度数が Pi% です。
高橋君はアルコールの摂取量が X ml を超えると酔っ払います。
高橋君が酔っ払ったのは何杯目のお酒を飲んでいるときですか。ただし、
N杯全てのお酒を飲んだあとでも酔っ払っていない場合は、かわりに -1 を出力してください。
入力
入力は以下の形式で標準入力から与えられる。
N X
V1 P1
・
・
・
VN PN
入力例 1
2 15
200 5
350 3
出力例 1
2
入力例 2
2 10
200 5
350 3
出力例 2
2
入力例 3
3 1000000
1000 100
1000 100
1000 100
出力例 3
-1
java
1import java.util.*; 2 3public class Main { 4 static Scanner sc = new Scanner(System.in); 5 static ArrayList<Integer> intArray = new ArrayList<Integer>(); 6 static ArrayList<String> strArray = new ArrayList<String>(); 7 public static void main(String[] args) { 8 String a = sc.nextLine(); 9 String[] strlist1 = a.split(" "); 10 11 int x = Integer.parseInt(strlist1[0]); 12 int y = Integer.parseInt(strlist1[1]); 13 int ans = 0; 14 int i=0; 15 16 for(i=0 ; i<x ; i++) { 17 String b = sc.nextLine(); 18 String[] strlist2 = b.split(" "); 19 20 int a1 = Integer.parseInt(strlist2[0]); 21 int a2 = Integer.parseInt(strlist2[1]); 22 23 ans = ans + (a1*(a2/100)); 24 25 if(y <= ans) { 26 break; 27 } 28 } 29 30 if(i >= x) { 31 System.out.println(i); 32 } 33 else{ 34 System.out.println("-1"); 35 } 36 } 37} 38
回答2件
あなたの回答
tips
プレビュー