Submission #532129

#TimeUsernameProblemLanguageResultExecution timeMemory
532129Haruto810198Sandcastle 2 (JOI22_ho_t5)C++17
9 / 100
8 ms1072 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define double long double #define FOR(i, l, r, d) for(int i=(l); i<=(r); i+=(d)) #define szof(x) ((int)(x).size()) #define vi vector<int> #define pii pair<int, int> #define F first #define S second #define pb push_back #define eb emplace_back #define mkp make_pair const int INF = INT_MAX; const int LNF = INF*INF; const int MOD = 1000000007; const int mod = 998244353; const double eps = 1e-12; //#pragma GCC optimize("Ofast") //#pragma GCC optimize("unroll-loops") const int MAX = 50010; int h, n; int arr[MAX]; int res; void solve(){ int ptr = 1; FOR(i, 1, n, 1){ ptr = max(ptr, i); while(ptr < n and arr[ptr] > arr[ptr + 1]) ptr++; res += (ptr - i + 1); //cerr<<i<<" "<<ptr<<endl; } } signed main(){ ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin>>h>>n; FOR(i, 1, n, 1){ cin>>arr[i]; } solve(); reverse(arr+1, arr+n+1); solve(); res -= n; cout<<res<<'\n'; return 0; }
#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...