AOJ 0100

何故か正解率が低い問題.
同じ社員に対して複数入力されることと,(販売単価) * (売上数量) が int 型の範囲から溢れちゃうことに注意する.
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0100&lang=jp

#include <iostream>
#include <vector>
#include <map>
using namespace std;

int main(){
	int n, num;
	long long price, amount;
	map<int, long long> member;
	vector<int> array;

	while(cin >> n, n){
		member.clear();
		array.clear();
		for(int i = 0; i < n; i++){
			cin >> num >> price >> amount;
			member[num] +=  price * amount;
			for(int i = 0; i < array.size(); i++){ //既に array に入ってるやつはスキップ
				if(num == array[i]){
					continue;
				}
			}
			if(member[num] >= 1000000){
				array.push_back(num);
			}
		}
		if(array.empty()){
			cout << "NA" << endl;
		}
		else{
			for(int i = 0; i < array.size(); i++){
				cout << array[i] << endl;
			}
		}
	}
	return 0;
}

スキップの判定の辺りがダサい.