読者です 読者をやめる 読者になる 読者になる

つけじょにーのすぱげていコード

主に、競技プログラミング、セキュリティのお勉強の際に書いたすぱげていコードを書き込みます

AOJ 0100: Sale Result

[苦手問題]
疲れてんのかな・・・?
mapで実装して通らなかったので、普通に配列で再実装したのだけれど、通らなかった
以前正解してるのもあってむちゃくちゃ悔しい
てか、この問題はイラついた

//0100
//題意:社員の、(販売単価)と(売り上げ数量)を記録したデータ
//     がある
//     これに加え、社員番号を読み込み、
//      売り上げ金額トータルが1000000円以上の
//     社員の社員番号を順番に出力せよ
//     該当する社員がいない場合には"NA"と表示せよ
//入力:データ数n
//     社員番号 販売単価 売り上げ数量
//・・・
//制約:社員数 < 4000 販売単価 <= 1000000 売り上げ数量 <= 100000
//出力:
//解決策:
//タイム:

#include <bits/stdc++.h>
#define HIGH 1000000
#define MEMBER_NUM 4001
#define INF -1
using namespace std;
typedef long long ll;
int main(void) {
    int n;
    while(cin >> n, n != 0) {
        ll data[MEMBER_NUM];
        memset(data, INF, sizeof(data));
        for(int r = 0; r < n; r++) {
            int no;
            ll tanka, quantity;
            cin >> no >> tanka >> quantity;
            if(data[no] != INF) {
                data[no] += tanka*quantity;
            } else {
                data[no] = tanka*quantity;
            }
        }
        bool update = false;
        for(int r = 0; r < MEMBER_NUM; r++) {
            if(data[r] >= HIGH) {
                cout << r << endl;
                update = true;
            }
        }
        if(!update) cout << "NA" << endl;
    }
    return(0);
}