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; }
スキップの判定の辺りがダサい.