Codeforces #43 B "T-shirts from Sponsor"
問題:http://codeforces.com/contest/46/problem/B
参加形式:本番.
5種類のサイズのTシャツの仕入れ数とTシャツを配布する人数および要求サイズを入力とする.要求順にTシャツを渡し,残っているTシャツから要求サイズにもっとも近いサイズ(近さが同じなら大きい方)を選択して渡す.それぞれの人に渡すTシャツのサイズを求める.
答えとなるサイズのTシャツの残り枚数をそれぞれ確認していく.
import java.util.*; public class B_TShirtsFromSponsor { public static void main(String[] args) { Scanner s = new Scanner(System.in); List<String> sizes = Arrays.asList("S","M","L","XL","XXL"); int[]nums = new int[5]; for(int i = 0; i < 5; ++i){ nums[i]=s.nextInt(); } for(int k = s.nextInt();k-->0;){ int index = sizes.indexOf(s.next()); for(int d = 0; d < 5; ++d){ if(index+d < 5 && nums[index+d]>0){ --nums[index+=d]; break; }else if(index - d >= 0 && nums[index-d]>0){ --nums[index-=d]; break; } } System.out.println(sizes.get(index)); } } }