# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
971536 | CyberCow | The short shank; Redemption (BOI21_prison) | C++17 | 2051 ms | 12884 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <random>
#include <algorithm>
#include <bitset>
#include <chrono>
#include <cmath>
#include <deque>
#include <fstream>
#include <iomanip>
#include <iostream>
#include <iterator>
#include <map>
#include <queue>
#include <set>
#include <stack>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <vector>
#include <chrono>
#define m_p make_pair
#define all(x) (x).begin(),(x).end()
#define sz(x) ((x).size())
typedef long long ll;
using ull = unsigned long long;
using namespace std;
mt19937 rnd(348502);
ll mod1 = 998244353;
ll mod = 1e9 + 7;
const ll N = 500010;
int a[N], lr[N];
int han[N];
int ans[N];
int achqisjoga[N];
void solve()
{
int n, d, k, t;
cin >> n >> d >> t;
for (int i = 1; i <= n; i++)
{
cin >> a[i];
if (a[i] <= t)
lr[i] = min(t - a[i] + i, n);
}
int obshi = 0;
int ma = 0, qaq = 0;
for (int h = 0; h < d; h++)
{
obshi = 0;
stack<pair<int, int>> se;
for (int i = 1; i <= n; i++)
{
se.push({ i, lr[i] });
while (!se.empty() && se.top().second < i)
{
se.pop();
}
if (!se.empty())
{
han[i] = se.top().first;
achqisjoga[se.top().first]++;
achqisjoga[i]--;
obshi++;
}
}
ma = 0, qaq = 0;
int hanind = 0;
for (int i = 1; i <= n; i++)
{
qaq += achqisjoga[i];
if (ma < qaq)
{
ma = max(ma, qaq);
hanind = i;
}
}
for (int hh = 0; hh <= hanind; hh++)
{
lr[hh] = min(lr[hh], hanind);
}
for (int hh = 0; hh <= N; hh++)
{
achqisjoga[hh] = 0;
}
}
cout << obshi - ma;
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
int tt = 1;
//cin >> tt;
while (tt--) {
solve();
}
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |