Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:大水题In Reply To:大水题 Posted by:13408100238 at 2015-03-29 19:57:12 > #include <iostream> > #include <cstdio> > #include <cstring> > #include <cmath> > #include <algorithm> > #include <string> > #include <vector> > #include <set> > #include <map> > #include <queue> > #include <stack> > #include <sstream> > #include <iomanip> > using namespace std; > const int INF=0x4fffffff; > const int EXP=1e-6; > const int MS=1000005; > > int page[MS]; > set<int> s; > map<int,int> mp; > int n; > > void solve() > { > int cnt=s.size(); > int ans=n; > int num=0; > int s=0,t=0; > while(1) > { > while(t<n&&num<cnt) > { > if(mp[page[t++]]++==0) > num++; > } > if(num<cnt) > break; > ans=min(ans,t-s); > if(--mp[page[s++]]==0) > num--; > } > printf("%d\n",ans); > } > > int main() > { > scanf("%d",&n); > for(int i=0;i<n;i++) > { > scanf("%d",&page[i]); > s.insert(page[i]); > } > solve(); > return 0; > } > > Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator