はい。
Codeforces Round #408 (Div.2)
A. Buying A House
#include<bits/stdc++.h>
using namespace std;
#define rep(i,n) for(int i=0;i<n;++i)
#define sc1(a) scanf("%d",&a)
#define sc3(a,b,c) scanf("%d %d %d",&a,&b,&c)
int w[205];
int main(){
int mod=1000000007;
int n,m,k,ans=mod;
sc3(n,m,k);
rep(i,n) sc1(w[i]);
for(int i=m-1;i>=0;i--) if (w[i]<=k && w[i]>0) {
ans=min(ans,(m-i-1));
break;
}
for(int i=m;i<n;i++) if (w[i]<=k && w[i]>0) {
ans=min(ans,(i-m+1));
break;
}
printf("%d\n",ans*10);
return 0;
}
mから左右それぞれをチェックして最も近い0より大きくk以下のおウチの距離。
B. Find The Bone
#include<bits/stdc++.h>
using namespace std;
#define rep(i,n) for(int i=0;i<n;++i)
#define sc1(a) scanf("%d",&a)
#define sc2(a,b) scanf("%d %d",&a,&b)
#define sc3(a,b,c) scanf("%d %d %d",&a,&b,&c)
bool d[1000005];
int main(){
int n,m,k,p,t=1,x,y;
sc3(n,m,k);
rep(i,m) { sc1(p); d[p]=1; }
rep(i,k) {
if (d[t]) break;
sc2(x,y);
if (x==t) t=y;
else if (y==t) t=x;
}
printf("%d\n",t);
return 0;
}
骨の移動を素直にシミュします。最悪は全く穴に落ちず最後まで素直にシミュになります。hに1があり得る考慮漏れにより時間を無駄にしました。