제출 #1093889

#제출 시각아이디문제언어결과실행 시간메모리
1093889InvMODStove (JOI18_stove)C++14
100 / 100
16 ms2384 KiB
#include<bits/stdc++.h>

using namespace std;


void solve()
{
    int n,k; cin >> n >> k;

    vector<int> T(n+1, 0);
    for(int i = 1; i <= n; i++){
        cin >> T[i];
    }

    int answer = (T[n] + 1) - T[1];
    // don't count last time cause that's when JOI turn off

    vector<int> minimize;
    for(int i = 2; i <= n; i++){
        // turn off at T[i-1] + 1, turn on again at T[i]
        minimize.push_back(-((T[i]-1) - T[i-1]));
    }

    sort(minimize.begin(), minimize.end());

    for(int i = 0; i < min((int)minimize.size(), k-1); i++){
        if(!minimize[i]) break;
        answer = answer + minimize[i];
    }
    cout << answer <<"\n";
}

int32_t main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);

    #define name "InvMOD"
    if(fopen(name".INP", "r")){
        freopen(name".INP", "r", stdin);
        freopen(name".OUT", "w", stdout);
    }

    solve();
    return 0;
}

컴파일 시 표준 에러 (stderr) 메시지

stove.cpp: In function 'int32_t main()':
stove.cpp:39:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   39 |         freopen(name".INP", "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
stove.cpp:40:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   40 |         freopen(name".OUT", "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...