提交时间:2024-03-31 11:49:27
运行 ID: 27853
#include<bits/stdc++.h> using namespace std; int n,x,a[5005],nmax[5005][5005],nmin[5005][5005]; long long sum; int main(){ scanf("%d%d",&n,&x); for(int i=1;i<=n;i++){ scanf("%d",&a[i]); } for(int i=1;i<=n;i++){ nmax[i][i]=a[i]; for(int j=i+1;j<=n;j++){ if(a[j]>nmax[i][j-1]){ nmax[i][j]=a[j]; } else{ nmax[i][j]=nmax[i][j-1]; } } } for(int i=1;i<=n;i++){ nmin[i][i]=a[i]; for(int j=i+1;j<=n;j++){ if(a[j]<nmin[i][j-1]){ nmin[i][j]=a[j]; } else{ nmin[i][j]=nmin[i][j-1]; } } } for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(nmax[i][j]+nmin[i][j]==x)sum++; } } printf("%lld",sum); }