一行目がデータの数(0ならば終了)
二行目以降は社員番号 売った品の単価 売った品の数
が与えられるので1,000,000円を超えた人を入力された順に出力しなさい
ただし社員番号は重複しないものとし、社員が複数の種類の品物を売っていることもある。
というものです。
Mingwのg++でコンパイルしたらエラーが吐きだされました
#include <iostream>
#include <vector>
#include <cstdio>
#include <map>
using namespace std;
int main(){
int n;
vector<int> vec;
map<int,int> date;
typedef map<int,int> MAP;
cin >> n;
int a,b,c;
while(n){
for(int i=0;i<n;i++){
cin >> a >> b >> c;
MAP::iterator it = date.find(a);
if(it != date.end()){
date[a] += b*c;
}else{
vec.push_back(a);
date.insert(a,b * c);
}
}
vector<int>::iterator vit = vec.begin();
bool flag = false;
for(; vit != vec.end() ; vit++){
if(date[*vit]>=1000000){
cout << *vit <<endl;
flag = true;
}
}
if(!flag)
cout << "NA" << endl;
cin >> n;
}
return 0;
}
d:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_tre
e.h: In member function `void std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _
Alloc>::insert_unique(_II, _II) [with _InputIterator = int, _Key = int, _Val = s
td::pair<const int, int>, _KeyOfValue = std::_Select1st<std::pair<const int, int
> >, _Compare = std::less<int>, _Alloc = std::allocator<std::pair<const int, int
> >]':
d:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_map
.h:397: instantiated from `void std::map<_Key, _Tp, _Compare, _Alloc>::insert(
_InputIterator, _InputIterator) [with _InputIterator = int, _Key = int, _Tp = in
t, _Compare = std::less<int>, _Alloc = std::allocator<std::pair<const int, int>
>]'
1.cpp:24: instantiated from here
d:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_tre
e.h:996: error: invalid type argument of `unary *'
どなたか原因が分かる方いたら教えてください。