Cod sursa(job #9733)

Utilizator dily_meCiorici Andra dily_me Data 27 ianuarie 2007 16:51:36
Problema Secventa 5 Scor 0
Compilator cpp Status done
Runda Unirea 2007, clasele 11-12 Marime 0.86 kb
#include<iostream.h>
#include<fstream.h>
long a[1000];


main()
{ long n,l,u;
  ifstream f("secv5.in"); ofstream g("secv5.out");
  f>>n>>l>>u;
  for(int i=1;i<=n;i++)
		 f>>a[i];
  int nr=0;

  for(int k=1;k<=n-l+1;k++)
  {
	 i=k;
	 int s=1;

	 while (s<l&& i<=n)
	  { i++;
		 int ok=1;
		 for(int j=k;j<=i-1;j++)
			 if (i>n) ok=0; else if (a[j]==a[i]) ok=0;
		  if (ok)	s++;
	  }

	  if (s==l) nr++;
	  int ok=0;

	 while(i<n && ok==0)

	 {for( int j=k;j<=i;j++)
		  if (a[i+1]==a[j]) ok=1;
	  if (ok) {i++;nr++;}  else ok=1;
	 }

	 while (s<u && i<n)
	  {i++;
		int ok=1;
		 for(int j=k;j<=i-1;j++)
			 if (a[j]==a[i]) ok=0;
		if (ok) {s++;nr++;}
	  }
	  ok=0;
	  while(i<n && ok==0)

	 {for( int j=k;j<=i;j++)
		  if (a[i+1]==a[j]) ok=1;
	  if (ok) {i++;nr++;}  else ok=1;
	 }
  }


  g<<nr;
  f.close();
  g.close();
}