#include<iostream> #include<set> using namespace std; int main() { set<int>s; set<int>::iterator it; int n; int sum=0; while(cin>>n) { if(n==-1) break; if(n!=0) s.insert(n); if(n==0) { for(it=s.begin();it!=s.end();it++) { if(s.find(2*(*it))!=s.end())//最后一个错误 s.find(2*(*it))==s.end() 应该是直到 s.find(2*(*it))!=s.end()才算是找到了 sum++; } cout<<sum<<endl; sum=0; s.clear(); } } system("pause"); return 0; } http://acm.pku.edu.cn/JudgeOnline/problem?id=1552