Wywala mi taki błąd jak w tytule tematu, podczas printowania:
#include <iostream>
#include <vector>
#include <map>
using namespace std;
int main()
{
ios_base::sync_with_stdio(0);
int t, prod, il;
map<unsigned, unsigned> lista;
vector< map<unsigned, unsigned>::iterator > vect;
map<unsigned, unsigned>::iterator it;
scanf("%d", &t);
vect.reserve(t);
for(int i = 0; i < t; i++)
{
scanf("%d %d", &prod, &il);
if(it = lista.find(prod), it != lista.end())
lista[prod] += il;
else
{
lista[prod] = il;
vect.push_back(it);
}
}
printf("%d\n", vect.size());
for(vector< map<unsigned, unsigned>::iterator >::iterator i = vect.begin(); i != vect.end(); i++)
printf("%d %d\n", (*i)->first, (*i)->second);
system("PAUSE");
return 0;
}