Mai intai trebuie sa te autentifici.
Cod sursa(job #9716)
| Utilizator | Data | 27 ianuarie 2007 16:49:28 | |
|---|---|---|---|
| Problema | Secventa 5 | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Unirea 2007, clasele 11-12 | Marime | 0.78 kb |
#include <stdio.h>
enum { maxn = 2 << 19 };
int secv[maxn];
int n, minlen, maxlen;
int main()
{
int i, j, k, m, now;
long long int ans = 0ll;
bool bad;
FILE *f = fopen("secv5.in", "r");
if(!f) return 1;
fscanf(f, "%d%d%d", &n, &minlen, &maxlen);
for(i = 0; i < n; i++) fscanf(f, "%u", &secv[i]);
fclose(f);
f = fopen("secv5.out", "w");
if(!f) return 1;
for(i = 0; i < n; i++) //start
for(j = i; j < n; j++) //stop
{
now = 0;
for(k = i; k <= j; k++)
{
bad = false;
for(m = k + 1; m <= j; m++)
{
if(m == k) continue;
if(secv[m] == secv[k])
{
bad = true;
break;
}
}
if(!bad) //first time
now++;
}
if(now >= minlen && now <= maxlen) ans++;
}
fprintf(f, "%lld\n", ans);
fclose(f);
return 0;
}
