Codeforces Beta Round #56
はい。
http://codeforces.com/contest/60
A. Where Are My Flakes?
implementation,two pointers
ざっくりと大意
・ある朝Cereal Guyの朝食のフレークがなくなっていたが、ルームメイトがn boxesの中の1つに隠していた。
・番号は左から右に1からn。
・i番目の箱の左/右というヒントあり、また同時にi番目の箱には無いという意味になる。
・m箱をn行のヒントから調べるのに最低何箱を調べれば発見できるか、若しくはヒントが矛盾してないか。
方針のようなもの
・リスト[a:b] aがright of〜、bがleft of〜で長さ求めれば行けそうでね。矛盾したら長さ0になるかな?
#!/usr/bin/env python # -*- coding: UTF-8 -*- import time import sys, io import re, math #start = time.clock() (n,m)=map(int, raw_input().split()) ans=['*' for i in range(n)] l=0 r=n for i in range(m): j=raw_input().split() if j[2]=='right': l=max(l,int(j[4])) elif j[2]=='left': r=min(r,int(j[4])-1) print len(ans[l:r]) if len(ans[l:r])>0 else -1