Submission #65875094
Source Code Expand
#include <bits/stdc++.h>
#include <random>
#include <chrono>
using namespace std;
#pragma GCC optimize("Ofast")
#pragma GCC optimize ("unroll-loops")
//#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
typedef long long ll;
typedef long double ld;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
typedef pair<double,double> pdd;
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
template<typename T> void _do(T x){cerr<<x<<"\n";}
template<typename T,typename ...U> void _do(T x,U ...y){cerr<<x<<", ";_do(y...);}
#define dbg(...) cerr<<#__VA_ARGS__<<" = ";_do(__VA_ARGS__);
const int MOD1=1e9+7;
const int MOD2=998244353;
const ll INF=3e18;
ll fpow(ll a,ll b,ll m)
{
if(!b) return 1;
ll tmp=1;
for(ll cur=a;b;b>>=1,cur=cur*cur%m) if(b&1) tmp=tmp*cur%m;
return tmp;
}
ll inv(ll a,ll m) {return fpow(a,m-2,m);}
#define MottoHayaku ios::sync_with_stdio(false);cin.tie(0);
#define rep(i,n) for(int i=0;i<n;i++)
#define rep1(i,n) for(int i=1;i<=n;i++)
#define F first
#define S second
#define pb push_back
#define uni(c) c.resize(distance(c.begin(),unique(c.begin(),c.end())))
#define unisort(c) sort(c.begin(),c.end()),uni(c)
void solve()
{
int n;
cin>>n;
vector<int> a(n);
vector<int> type(n,0);
rep(i,n) cin>>a[i];
vector<int> pos;
for(int i=1;i+1<n;i++)
{
if(a[i]>a[i-1]&&a[i]>a[i+1]) type[i]=1;
if(a[i]<a[i-1]&&a[i]<a[i+1]) type[i]=2;
if(type[i]!=0) pos.pb(i);
}
int sz=pos.size();
ll ans=0;
rep(i,sz-1)
{
int x=pos[i],y=pos[i+1];
if(type[x]!=1||type[y]!=2) continue;
int l=0,r=n-1;
if(i-1>=0) l=pos[i-1];
if(i+2<sz) r=pos[i+2];
//dbg(l,x,y,r);
ans+=1LL*max(0,x-l)*max(0,r-y);
}
cout<<ans<<"\n";
}
signed main()
{
MottoHayaku
int t;
//cin>>t;
t=1;
while(t--)
{
solve();
}
}
Submission Info
| Submission Time |
|
| Task |
C - ~ |
| User |
Fysty |
| Language |
C++ 20 (gcc 12.2) |
| Score |
350 |
| Code Size |
2007 Byte |
| Status |
AC |
| Exec Time |
17 ms |
| Memory |
7608 KiB |
Judge Result
| Set Name |
Sample |
All |
| Score / Max Score |
0 / 0 |
350 / 350 |
| Status |
|
|
| Set Name |
Test Cases |
| Sample |
sample00.txt, sample01.txt, sample02.txt |
| All |
sample00.txt, sample01.txt, sample02.txt, testcase00.txt, testcase01.txt, testcase02.txt, testcase03.txt, testcase04.txt, testcase05.txt, testcase06.txt, testcase07.txt, testcase08.txt, testcase09.txt, testcase10.txt, testcase11.txt, testcase12.txt, testcase13.txt, testcase14.txt, testcase15.txt, testcase16.txt, testcase17.txt, testcase18.txt, testcase19.txt, testcase20.txt, testcase21.txt, testcase22.txt, testcase23.txt, testcase24.txt, testcase25.txt, testcase26.txt, testcase27.txt, testcase28.txt, testcase29.txt, testcase30.txt, testcase31.txt, testcase32.txt, testcase33.txt, testcase34.txt |
| Case Name |
Status |
Exec Time |
Memory |
| sample00.txt |
AC |
1 ms |
3544 KiB |
| sample01.txt |
AC |
1 ms |
3480 KiB |
| sample02.txt |
AC |
1 ms |
3472 KiB |
| testcase00.txt |
AC |
4 ms |
3820 KiB |
| testcase01.txt |
AC |
17 ms |
6384 KiB |
| testcase02.txt |
AC |
3 ms |
3628 KiB |
| testcase03.txt |
AC |
17 ms |
6448 KiB |
| testcase04.txt |
AC |
15 ms |
5608 KiB |
| testcase05.txt |
AC |
17 ms |
6612 KiB |
| testcase06.txt |
AC |
12 ms |
5432 KiB |
| testcase07.txt |
AC |
17 ms |
6528 KiB |
| testcase08.txt |
AC |
1 ms |
3476 KiB |
| testcase09.txt |
AC |
1 ms |
3468 KiB |
| testcase10.txt |
AC |
5 ms |
4480 KiB |
| testcase11.txt |
AC |
17 ms |
7500 KiB |
| testcase12.txt |
AC |
12 ms |
5628 KiB |
| testcase13.txt |
AC |
17 ms |
7608 KiB |
| testcase14.txt |
AC |
14 ms |
5480 KiB |
| testcase15.txt |
AC |
8 ms |
4356 KiB |
| testcase16.txt |
AC |
14 ms |
5428 KiB |
| testcase17.txt |
AC |
6 ms |
4160 KiB |
| testcase18.txt |
AC |
14 ms |
5572 KiB |
| testcase19.txt |
AC |
4 ms |
3596 KiB |
| testcase20.txt |
AC |
14 ms |
5468 KiB |
| testcase21.txt |
AC |
6 ms |
4120 KiB |
| testcase22.txt |
AC |
14 ms |
5416 KiB |
| testcase23.txt |
AC |
8 ms |
4352 KiB |
| testcase24.txt |
AC |
14 ms |
5420 KiB |
| testcase25.txt |
AC |
8 ms |
4400 KiB |
| testcase26.txt |
AC |
14 ms |
5480 KiB |
| testcase27.txt |
AC |
4 ms |
3504 KiB |
| testcase28.txt |
AC |
14 ms |
5444 KiB |
| testcase29.txt |
AC |
6 ms |
4108 KiB |
| testcase30.txt |
AC |
14 ms |
5512 KiB |
| testcase31.txt |
AC |
3 ms |
3500 KiB |
| testcase32.txt |
AC |
14 ms |
5480 KiB |
| testcase33.txt |
AC |
6 ms |
4160 KiB |
| testcase34.txt |
AC |
14 ms |
5472 KiB |