Cod sursa(job #3225831)

Utilizator zavragiudavid dragoi zavragiu Data 19 aprilie 2024 09:51:16
Problema Multiplu Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.19 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("santinele.in");
ofstream fout("santinele.out");

int task;
int a[100005];
int n,k;

int main()
{
    int i,maxim,poz,cnt,ind;
    fin>>task;
    fin>>n>>k;
    for(i=1;i<=n;i++) fin>>a[i];
    if(task==1)
    {
        maxim=cnt=0;
        for(i=1;i<=k+1;i++)
        {
            if(a[i]>=maxim)
            {
                maxim=a[i];
                poz=i;
            }
        }
        cnt=poz;
        i=poz+1;
        while(i<=poz+k)
        {
            if(a[i]<=maxim) cnt++;
            else break;
            i++;
        }
        fout<<cnt<<'\n';
    }
    else
    {
        i=1;
        cnt=0;
        while(i<=n)
        {
            maxim=0;
            for(ind=i;ind<=i+k && ind<=n;ind++)
            {
                if(a[ind]>=maxim)
                {
                    maxim=a[ind];
                    poz=ind;
                }
            }
            i=poz+1;
            while(i<=poz+k && i<=n)
            {
                if(a[i]>maxim) break;
                i++;
            }
            cnt++;
        }
        fout<<cnt<<'\n';
    }
    return 0;
}