Submission #1290463

#TimeUsernameProblemLanguageResultExecution timeMemory
1290463omer_faruk_tuzunStove (JOI18_stove)C++20
50 / 100
1096 ms2380 KiB
#include <iostream>
using namespace std;

int main() 
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int N,K;
    cin>>N>>K;

    long long T[100000];//misafir gelme zamanı
    long long bosluk[100000];//misafir gelme zamanları arasındaki boşluk

    for(int i=0; i<N;i++)
    {
        cin>> T[i];
    }
    if(N==1) 
    {
        cout<<1 <<"\n";
        return 0;
    }

    
    for(int i=0;i<N-1;i++) 
    {
        bosluk[i]=T[i+1]-T[i]-1;
    }

   
    long long enB[K-1];//sobayı kapatmak için en büyük boşluk
    int c=0;

  
    for(int i=0;i<N-1&&c<K-1;i++) 
    {
        enB[c++]=bosluk[i];
    }

    
    for (int i=K-1;i<N-1;i++) 
    {
       
        int EnKuPo = 0;//En küçük pozisyonun indeksi değişknei
        for(int j=1;j<K-1;j++)
        {
            if(enB[j]<enB[EnKuPo])EnKuPo=j;
        }
        if(bosluk[i]>enB[EnKuPo])enB[EnKuPo]=bosluk[i];
    }

 
    long long kazanc=0;//boşluklarda sobayo kapatarak kazanacağımız süre
    for (int i=0;i<K-1;i++)kazanc+=enB[i];

    long long max=T[N-1]-T[0]+1;//hiç sobayı kapatmazsak açık olacağı süre
    cout<<max-kazanc<<"\n";

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...