Cod sursa(job #723070)
| Utilizator | Data | 24 martie 2012 21:14:40 | |
|---|---|---|---|
| Problema | Secv | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.49 kb |
#include <fstream>
#include<set>
using namespace std;
unsigned int n,v[6000],in,i,nr[6000],k,j,rez=1<<30;
set<unsigned 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;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;
}
