Pagini recente » Sandbox (cutiuţa cu năsip) | Cod sursa (job #1189745) | Cod sursa (job #3159872) | Cod sursa (job #2105205) | Cod sursa (job #2466360)
#include <iostream>
#include <fstream>
using namespace std;
int d[5010],a[5010],i,j,n,m,min1,max1;
ifstream f("secv.in");
ofstream g("secv.out");
int main()
{
min1 = 2000000010;
max1 = -1;
f>>n;
for(i=1;i<=n;i++){
f>>a[i];
if(min1>a[i])
min1 = a[i];
if(max1<a[i])
max1 = a[i];
}
for(i=1;i<=n;i++){
for(j=i-1;j>=1;j--){
if(a[i]>a[j]){
d[i] = max(d[i],d[j]+1);
if(max1 == a[i] && d[i] == max1 - 1){
int t = i;
int nr = 0;
int prc = a[i];
while(prc != min1 || d[t] != 0){
t--;
if(a[t] == prc - 1)
prc = a[t];
nr++;
}
g<<nr + 1;
return 0;
}
}
}
}
g<<-1;
}