結果
問題 | No.2374 ASKT Subsequences |
ユーザー |
|
提出日時 | 2023-07-07 22:05:15 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 46 ms / 2,000 ms |
コード長 | 709 bytes |
コンパイル時間 | 2,036 ms |
コンパイル使用メモリ | 197,268 KB |
最終ジャッジ日時 | 2025-02-15 07:27:50 |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 28 |
ソースコード
#include<bits/stdc++.h> using namespace std; using ll = long long; using vll =vector<ll>; using vvll =vector<vll>; #define rep(i,n) for(ll i=(ll)(0); i<(ll(n)); ++i) #define all(x) (x).begin(), (x).end() int main(){ ll N; cin>>N; vvll A(2001,vll(N+1)); vll B(N); rep(i,N){ cin>>B[i]; A[B[i]][i+1]++; } rep(i,2001){ rep(j,N)A[i][j+1]+=A[i][j]; } ll an=0; rep(i,N)rep(j,i){ ll a2=B[j]; ll a3=B[i]; ll k=a2-a3; if(k<=0)continue; ll a1=a2-k-10; ll a4=a3+k+1; if(a1<=0||a4>=2001)continue; ll n1=A[a1][j]; ll n4=A[a4][N]-A[a4][i]; an+=n1*n4; } cout<<an<<endl; }