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; }