Cod sursa(job #878103)

Utilizator CosminRusuCosmin Rusu CosminRusu Data 13 februarie 2013 23:19:43
Problema Secv Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.13 kb
#include <fstream>
#include <algorithm>
#include <limits.h>
using namespace std;

ifstream cin("secv.in");
ofstream cout("secv.out");
bool avem[2000000005];
int n, i, j, a[50055], k, v[50055], best=INT_MIN, sol;
inline int max(int a, int b)
{
    return a>b? a:b;
}
int main()
{
    cin>>n;
    for(i=1;i<=n;++i)
        { cin>>a[i];
          if(!avem[a[i]])
          {
              ++k;
              v[k]=a[i];
              avem[a[i]]=1;
          }
        }
    sort(v+1, v+k+1);
    for(i=1;i<=n;i++)
    {
        if(a[i]==v[1])
            {
                int indice=1;

                for(j=i+1;j<=n+1; ++j)
                    {
                        if(indice==k)
                            {
                                sol=j-i;
                                best=max(sol, best);
                                break;
                            }
                        if(a[j]==v[indice+1])
                            {
                                indice++;
                            }

                    }
            }
    }
    cout<<best<<"\n";


    return 0;
}