# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
481406 | DAleksa | Po (COCI21_po) | C++17 | 1095 ms | 2836 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ld = long double;
template<typename T> using vc = vector<T>;
template<typename T> using vvc = vc<vc<T>>;
template<typename T> void smax(T& a, T b) {a = max(a, b);}
template<typename T> void smin(T& a, T b) {a = min(a, b);}
#define X first
#define Y second
#define pb push_back
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define read(a) for(auto& i : a) cin >> i
#define print(a) for(auto& i : a) cout << i << " "
int n;
vc<int> a;
int rez;
void f(int l, int r)
{
if(l > r) return;
int mn = INT_MAX;
for(int i = l; i <= r; i++) smin(mn, a[i]);
rez += (mn > 0);
int lst = l;
for(int i = l; i <= r; i++) {
if(a[i] == mn) {
f(lst, i-1);
lst = i+1;
}
}
f(lst, r);
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> n;
a.resize(n);
read(a);
f(0, n-1);
cout << rez;
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |