Submission #1283846

#TimeUsernameProblemLanguageResultExecution timeMemory
1283846trungmegalikeitThe short shank; Redemption (BOI21_prison)C++20
0 / 100
44 ms3352 KiB
#include<bits/stdc++.h>
using namespace std;
bool cmp(int a, int b){
    return a > b;
}
int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    if(fopen("PLAYDOM.inp","r")){
        freopen("PLAYDOM.inp","r",stdin);
        freopen("PLAYDOM.out","w",stdout);
    }
    int n,d,t;
    cin>>n>>d>>t;
    vector<int> a(1);
    int fs = 0;
    for(int i = 1; i <= n; i++){
        int x;
        cin>>x;
        if(x <= t && fs == 0) fs = i;
        a.emplace_back(x); 
    }
    vector<int> block;
    int day = 0, lastbl = fs, safe = 0;
    for(int i = fs; i <= n; i++){
        bool on = 0;
        //cout<<"CON: "<<i - lastbl <<' '<< t-a[lastbl]<<'\n';
        if(a[i] <= t){
            if(day > 0) block.emplace_back(day);
            lastbl = i;
            //cout<<i<<' '<<day<<'\n';
            day = 0; 
        }
        else if(i - lastbl < t-a[lastbl]) day++;
        else{
            if(day > 0) block.emplace_back(day);
            safe++;
            day = 0;
        }
        //cout<<"CURR "<<day<<' '<<safe<<'\n';
    }
    sort(block.begin(),block.end(),cmp);
    int ans = 0;
    for(int i = 0; i <= d-1 && i < block.size(); i++) ans += block[i];
    //cout<<ans<<'\n';
    cout<<n-ans-safe<<'\n';
}

Compilation message (stderr)

prison.cpp: In function 'int main()':
prison.cpp:10:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   10 |         freopen("PLAYDOM.inp","r",stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
prison.cpp:11:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   11 |         freopen("PLAYDOM.out","w",stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...