Cod sursa(job #723065)
| Utilizator | Data | 24 martie 2012 21:12:12 | |
|---|---|---|---|
| Problema | Secv | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.48 kb |
#include <fstream>
#include<set>
using namespace std;
int n,v[6000],in,i,nr[6000],k,j,rez=1<<30;
set<int> s;
int main ()
{ifstream f("secv.in");
ofstream g("secv.out");
f>>n;
for(i=1;i<=n;i++)
{f>>v[i]; s.insert(v[i]);}
while(!s.empty()){
nr[++k]=*(s.begin());
s.erase(s.begin());}
for(i=n-k;i;i--)
{for(in=1,j=i;j<=n&&in<=k;j++)
if(v[j]==nr[in]) in++;
if(in==k+1)
rez=min(j-i,rez);}
if(rez<(1<<30))
g<<rez;
else
g<<-1;
f.close(); g.close();
return 0;
}
