首页 > 代码库 > POJ 3320
POJ 3320
#include <iostream>#include <set>#include <map>using namespace std;unsigned int P;set<unsigned int> ideaSet;unsigned int idea[1000001];int numOfIdea;int main(){ scanf("%ud", &P); for(int i = 0; i < P; ++i) { scanf("%ud", &idea[i]); ideaSet.insert(idea[i]); } numOfIdea = ideaSet.size(); int num = 0; map<unsigned int, unsigned int> mp; int s = 0; int t = 0; int res = P; for(;;) { while(num < numOfIdea && t < P) { if(mp[idea[t++]]++ == 0) { num++; } } if(num < numOfIdea) break; res = min(res, t - s); if(--mp[idea[s++]] == 0) --num; } printf("%d\n", res); return 0;}
POJ 3320
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。