君はまるで砂漠に咲く、一輪の花。

僕はその花に引き寄せられる蝶。

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ループが終了。
という感じの処理だと思う。