Pagini recente » Cod sursa (job #1372460) | Cod sursa (job #2583758) | Cod sursa (job #413077) | Cod sursa (job #52531) | Cod sursa (job #530104)
Cod sursa(job #530104)
#include <fstream.h>
int v[1000], maxi, maxj, max, i, n, k, j, auxi;
ifstream in("secventa.in");
ofstream out("secventa.out");
int main()
{
in >> n >> k;
for (i=1;i<=n;i++)
{
in >> v[i];
}
for (i=1;i<=n-k+1;i++)
{
j = i;
while (v[j]>=v[i] && j<=n)
j++;
if (j-i>=k)
{
if (max < v[i]) // am gasit un maxim deci retin secventa
{
maxi = i;
maxj = j-1; // while-ul face ca j sa fie mai mare cu 1 decat trebuie
max = v[i];
}
}
else
{
auxi = i; // nu am k elemente... ma plimb la stanga atat timp cat pot
while (v[auxi]>=v[i] && auxi>0)
auxi--;
if (j-auxi>=k) // am cel putin k elemente
{
if (max < v[i]) // am gasit maxim
{
maxi = auxi;
maxj = j-1;
max = v[i];
}
}
}
}
out<<maxi<<" "<<maxj<<" "<<max;
return 0;
}