読者です 読者をやめる 読者になる 読者になる

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

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

Codeforces Round #335 (Div.2)

はい。
http://codeforces.com/contest/606

A. Magic Spheres

ざっくりと大意

・最初にあるのがa:青、b:紫、c:オレンジを、x:青、y:紫、z:オレンジにしたい?
・同じ色2つを使って好きな色のどれか1つに変えられる?

方針のようなもの

・2つ使って変更を1手ずつシミュは辛そうなので他の方法を考える。

python

a,b,c=map(int,raw_input().split())
x,y,z=map(int,raw_input().split())
if a>=x and b>=y and c>=z:
    print 'Yes'
elif a+b+c<=x+y+z:
    print 'No'
else:
    l=[[a,b,c],[x,y,z]]
    tmp=0
    for i in range(3):
        if l[0][i]>l[1][i]:
            tmp+=(l[0][i]-l[1][i])/2
        else:
            tmp-=(l[1][i]-l[0][i])
    print 'Yes' if tmp>=0 else 'No'

各色が変更前より少なくなる時はその条件だけでYesにした。1->0が出来るっぽい? 2つ使って1つになので変更後のほうが総数が多い場合はNoにした。 その条件以外では青同士、紫同士...で比較して変更前のが多いなら変更後の差分を2で割ったものが他の色の追加に使うことができるアレ。変更後のが多いなら他の余る色から変更させてこないとアレで足りるかどうか調べた。

B. Testing Robots

ざっくりと大意

・意味不明、。途中経路では動いたら1、動けなかったら0っぽい??最終の数値はまるっきり謎。

方針のようなもの

・あとで

C. Sorting Railway Cars

ざっくりと大意

・左か右の端にずらして最小回数でソートする?
・サンプル1では1手目は4を右にずらして1 2 5 3 4、2手目は5を右にずらして1 2 3 4 5になる。

方針のようなもの

・わからんので誰かのを見て。

python

n=int(raw_input())
l=map(int,raw_input().split())
a=[0]*(n+1)
for i in l:
    a[i]=a[i-1]+1
print n-max(a)

全体の長さ - 最長増加部分列で動かすもの数が求まらないかと思ったけど違ったようだ。とりあえずいつか同じような問題が出ることを期待する。。。