Codeforces Beta Round #74 (Div.2 Div.1)
はい。
http://codeforces.com/contest/90
A. Cableway
greedy,math
ざっくりと大意
・大学生のグループがピクニック山登りをするのに道を決める。
・山の麓から頂上まで登れるケーブルカーがある??
・ケーブルカーの数は3で割り切れて、色が赤/緑/青。
・ケーブルカーが回ってくるのは赤、その後に緑、その後に青、そしてまた赤。
・ケーブルカーは一定の周期で来て、頂上までは30分。
方針のようなもの
・最大値だけ見ればいいじゃないの?と思ってたけどなんか上手く行かず。。
496134のcatupperさんをパクリ
#!/usr/bin/env python # -*- coding: UTF-8 -*- import time import sys, io import re, math #start = time.clock() l=map(int, raw_input().split()) j=-1 while(any(l)): l[(j+1)%3]=max(l[(j+1)%3]-2,0) j+=1 print j+30
l[(j+1)%3]
はr,g,bを順番に見ていくようにして、
順番が来たら max(l[(j+1)%3]-2,0)
0になるまで2人減らす。最後が一人の時は-1になるけど max(hage,0) で0が保存される。
1回処理するごとに時間のカウンターを加算。
リストのsumが0になればwhileループが終了。
という感じの処理だと思う。