ラベル AOJ_Volume2 の投稿を表示しています。 すべての投稿を表示
ラベル AOJ_Volume2 の投稿を表示しています。 すべての投稿を表示

2012年7月14日土曜日

AOJ Volume2 0206: Next Trip

/****************************
* 2012/07/14                *
* AOJ_Volume2_0206          *
* Next Trip                 *
* crane                     *
*****************************/

#include<iostream>
using namespace std;

int main(){

    int pri;
    while(cin >> pri, pri){
        int res;
        bool frag = false;
        for(int i=1; i<=12; i++){
            int m,n;
            cin >> m >> n;
            pri -= m-n;
            if(pri <= 0 && frag != true){
                frag = true;
                res = i;
            }
        }
        if(frag) cout << res << endl;
        else     cout << "NA" << endl;
    }
    return 0;
}

2012年7月6日金曜日

AOJ Volume2 0217: Walking in the Hospital

/****************************************
*    2012/06/30                            *
*    AOJ Volume2 0217                    *
*        Walking in the Hospital            *
*   crane                                *
*****************************************/

#include<iostream>
using namespace std;

int main(){
    int n;    //データ数
   
    while(cin >> n, n){
        int p, d1, d2;
        int m_p=0, md=0;
        for(int i=0; i<n; i++){
            cin >> p >> d1 >> d2;
            if(d1+d2 > md){
                m_p = p;
                md = d1 + d2;
            }
        }

        cout << m_p << " " << md << endl;
    }
    return 0;
}

AOJ Volume2 0238: Time To Study

/********************************************
*    2012/07/03                                *
*    AOJ Volume2 0238                        *
*    Time To Study                            *
*    crane                                              *
*********************************************/
#include<iostream>
using namespace std;

int main(){
    int t;
    while(cin >> t, t){//目標時間
        int n;
        cin >> n;        //勉強回数

        int sum = 0;
        int st, et;        //開始時間, 終了時間
        for(int i=0; i<n; i++){
            cin >> st >> et;
            sum += et - st;
        }
       
        if( t <= sum)    cout << "OK" << endl;
        else{
            cout << t - sum << endl;
        }
    }
    return 0;
}

AOJ Volume2 0239: Calorie Counting

/************************************
*    2012/07/03                        *
*    AOJ Volume2 0239                *
*    Calorie Counting                *
*    crane                            *
*************************************/


#include<iostream>
#define MAX_N 1000
using namespace std;

//[p:タンパク質, q:脂質, r:炭水化物]
/*-------------------------------------------------*/
//        1gあたり                                    //
//        タンパク質,炭水化物->4kcal                    //
//        脂質               ->9kcal   
/*-------------------------------------------------*/
struct {
    int num;
    int p;
    int q;
    int r;
} num[MAX_N];


int main(){
    int n;//お菓子の数
    while(cin >> n, n){
       
        for(int i=1; i<=n; i++)
            cin >> num[i].num >> num[i].p >> num[i].q >> num[i].r;

        int P, Q, R, C;    //P:タンパク質, Q:脂質, R:炭水化物, C:制限摂取カロリー
        cin >> P >> Q >> R >> C;
        bool frag = true;
        for(int i=1; i<=n; i++){
            int sum = (4 * num[i].p) + (9 * num[i].q) + (4 * num[i].r);   
           
            if(num[i].p <= P && num[i].q <= Q && num[i].r<=R && sum <= C){
                cout << num[i].num << endl;
                frag = false;
            }
        }
        if(frag)    cout << "NA" << endl;
    }
    return 0;
}