PKU 2860 Block game with the Little Prince

http://poj.org/problem?id=2860
n個のブロックがk個の部屋に最大m個という条件を満たして分配されている。
この時、ブロックを移動させて目的の状態に辿りつくのに必要な移動回数はいくらかを求めるというような問題。

探索かと思いましたが、違ったようです。

int in[30],fi[30];

main(){
  int n,m,k;
  cin>>n>>m>>k;
  rep(i,k)cin>>in[i];
  rep(i,k)cin>>fi[i];
  int ans=0;
  rep(i,k){
    if(in[i]>fi[i])ans+=in[i]-fi[i];
  }
  cout<<ans<<endl;
}