Pagini recente » Cod sursa (job #1979798) | Cod sursa (job #774656) | Cod sursa (job #1354520) | Cod sursa (job #12386) | Cod sursa (job #1089372)
#include<fstream>
#include<algorithm>
#include<map>
using namespace std;
ifstream f("secv.in");
ofstream g("secv.out");
int main(){
int i,n,j,a[5005]={},b[5005]={},c[5005]={},m=0,pos=0,x,y;
map<int,int> t;
f>>n;
for(i=1; i<=n; ++i){
f>>a[i];
t[a[i]]++;
}
int val=t.size();
for(i=n; i>=1; --i){
for(j=i-1; j>=1; --j){
if(a[i]>a[j]){
if(b[j] < b[i]+1){
b[j]=b[i]+1;
c[j]=i;
}
}
}
if(b[i]>m){
m=b[i];
pos=i;
}
}
x=pos;
if(b[pos]+1==val && x!=0){
while(c[pos]!=0){
pos=c[pos];
}
/*
for(i=1; i<=n; ++i){
g<<c[i]<<" ";
}
*/
g<<pos-x+1;
}
else
g<<'0';
return 0;
}