Submission #1244824

#TimeUsernameProblemLanguageResultExecution timeMemory
1244824CrabCNHTelefoni (COCI17_telefoni)C++20
80 / 80
10 ms328 KiB
#pragma GCC optimize("O3,unroll-loops")
#include <bits/stdc++.h>

#define pii pair <int, int>
#define fi first
#define se second

using namespace std;

const int N = 3e5 + 5;
const int inf = 1e9 + 7;

signed main () {
    ios_base :: sync_with_stdio (0);
    cin.tie (0);
    cout.tie (0);
    #define task "telefoni"
    if (fopen (task".inp", "r")) {
        freopen (task".inp", "r", stdin);
        freopen (task".out", "w", stdout);
    }
    int n, D;
    cin >> n >> D;
    int x;
    cin >> x;
    int res;
    deque <pii> dq; // val, id
    dq.push_back ({0, 1});
    for (int i = 2; i <= n; i ++) {
        cin >> x;
        if (!dq.empty () && dq.front ().se < i - D) {
            dq.pop_front ();
        }
        res = dq.front ().fi + (1 - x);
        while (!dq.empty () && dq.back ().fi >= res) {
            dq.pop_back ();
        }
        dq.push_back ({res, i});
    }
    cout << res;
}

Compilation message (stderr)

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