Mai intai trebuie sa te autentifici.
Cod sursa(job #1074710)
Utilizator | Data | 7 ianuarie 2014 21:36:12 | |
---|---|---|---|
Problema | Subsir crescator maximal | Scor | 25 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.69 kb |
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin;
ofstream fout;
int n=0;
vector<int> v;
vector<int> best;
int maxim;
int main ()
{
fin.open("scmax.in");
int x; fin>>n;
while(fin>>x)
v.push_back(x);
fin.close();
best=vector<int>(n+2, -1);
maxim=1;
best[n]=1;
for(int i=n-2;i>=0;i--)
{
best[i]=1;
for(int j=i+1;j<n;j++)
if(v[i]<=v[j] && best[i]<best[j]+1)
{
best[i]=best[j]+1;
if(best[i]>maxim)maxim=best[i];
}
}
fout.open("scmax.out");
fout<<maxim;
fout.close();
return 0;
}