Submission #832536

#TimeUsernameProblemLanguageResultExecution timeMemory
832536NothingXD송신탑 (IOI22_towers)C++17
14 / 100
811 ms1872 KiB
#include "towers.h"
#include <bits/stdc++.h>
 
using namespace std;
 
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
 
void debug_out(){cerr << endl;}
template<typename Head, typename... Tail>
void debug_out(Head H, Tail... T){
	cerr << H << ' ';
	debug_out(T...);
}
 
#define debug(...) cerr << "(" << #__VA_ARGS__ << "): ", debug_out(__VA_ARGS__)
#define F first
#define S second
#define all(x) x.begin(), x.end()
#define MP(x, y) make_pair(x, y)

const int maxn = 1e5 + 10;
const int lg = 20;

int n, x, h[maxn], part[maxn];

void init(int N, std::vector<int> H) {
	n = N;
	for (int i = 0; i < n; i++){
		h[i] = H[i];
	}
	for (int i = 1; i + 1 < n; i++){
		if (h[i] < h[i-1] && h[i] < h[i+1]) part[i]++;
	}
	for (int i = 1; i < n; i++){
		part[i] += part[i-1];
	}
}

int max_towers(int L, int R, int D) {
	if (R-L <= 1) return 1;
   	return part[R-1] - part[L] + (h[L] < h[L+1]) + (h[R] < h[R-1]);
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...