Pagini recente » Cod sursa (job #2205177) | Cod sursa (job #1099777) | Cod sursa (job #2347117) | Cod sursa (job #1095672) | Cod sursa (job #949605)
Cod sursa(job #949605)
#include<fstream>
#define modulo 9901;
using namespace std;
ifstream f("subsir2.in");
ofstream g("subsir2.out");
long int a[10005],k,l[10005],x[10005],n,pozm,i,max1,poz,sol,sum,summ;
int main ()
{
f>>n;
for(i=1;i<=n;i++)
f>>a[i];
l[n]=x[n]=1;
for(k=n;k>=1;k--)
{
max1=0;
poz=0;
sum=a[k];
for(i=k+1;i<=n;i++)
if(a[i]>a[k]&&l[i]>max1)
{
max1=l[i];
sum+=a[i];
}
for(i=k+1;i<=n;i++)
if(a[i]>a[k]&&l[i]==max1)
{
poz=poz+x[i];
x[i]%=modulo;
}
if(sum>summ) {summ=sum; pozm=k;}
l[k]=1+max1;
if(poz==0) x[k]=1;
else x[k]=poz;
}
for(i=1;i<=n;i++)
if(max1<l[i])
max1=l[i];
for(i=1;i<=n;i++)
if(max1==l[i])
{sol=sol+x[i];
sol=sol%modulo;}
//g<<max1<<"\n";
//g<<summ;
g<<l[pozm-1];
return 0;
}