Pagini recente » Cod sursa (job #552819) | Cod sursa (job #1797187) | Cod sursa (job #512101) | Cod sursa (job #978103) | Cod sursa (job #530103)
Cod sursa(job #530103)
#include <fstream.h>
int v[1000], maxi, maxj, max, i, n, k, j, auxi;
ifstream in("s1.in");
ofstream out("s1.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];
}
}
}
}
for (i=maxi;i<=maxj;i++)
out << v[i] << " ";
return 0;
}