while (cin >> tmp)
vec1.push_back(tmp);

をどうやって抜けてる?