baru003のブログ

baruの雑記兼備忘録

AOJ 0206

・問題リンク Next Trip

・コメント
この問題にはすごく手間取ってしまいました・・。

・ソース

#include<iostream>
using namespace std;

int main()
{
    int n,ans=0;
    long sum=0;//総額
    while(true)
    {
        long ic[12];//収入
        long ep[12];//支出
        ans=0;
        sum=0;
        cin>>n;//旅行費用
        if(n==0)break;
        //支出と収入の入力
        for(int i=0;i<12;i++){
            cin>>ic[i]>>ep[i];
            sum+=(ic[i]-ep[i]);
            if(ans==0&&sum>=n){
                ans=i+1;
            }
        }

        //足りて、貯金が費用に達する月数の出力
        if(ans!=0){
            cout<<ans<<endl;
            ans=0;
            continue;
        }

        //足りなかった時
        if(ans==0){
            cout<<"NA"<<endl;
            continue;
        }
    }
    return 0;
}