2 条题解
-
1
#include <iostream> #include <algorithm> #include <cstring> #include <vector> #include <cstdio> #include <unordered_map> #include <queue> #include <deque> #include <cmath> #include <set> #include <stack> #include <map> using namespace std; #define int long long int a[5005]; signed main() { int t; scanf("%lld",&t); while(t--) { int n; scanf("%lld",&n); for(int i=1;i<=n;i++) { scanf("%lld",&a[i]); } int ans=0; for(int i=2;i<n;i++) { int ans1=0; int ans2=0; for(int j=1;j<i;j++) { int h=min(a[i],a[j]); ans1=max(ans1,(i-j)*h); } for(int j=i+1;j<=n;j++) { int h=min(a[i],a[j]); ans2=max(ans2,(j-i)*h); } ans=max(ans,ans1+ans2); } printf("%lld\n",ans); } return 0; } -
0
#include<iostream> using namespace std; #define ll long long ll a[5005]; int main() { int t; cin>>t; while (t--) { int n; cin>>n; ll ans = 0; for (int i =1;i<=n;i++) { cin>>a[i]; } for ( int i =2;i<=n-1;i++) { ll s1 = 0,s2 = 0; for ( int j = 1;j<i;j++) { int len = i-j; ll qwq = min(a[i],a[j]); ll re = lenqwq; s1 = max(s1,re); } for ( int j =i+1;j<=n;j++) { int len = j-i; ll qwq = min(a[j],a[i]); ll re =lenqwq; s2 = max(s2,re); } ans = max(ans,s1+s2); } cout<<ans<<endl; } return 0;
}
- 1
信息
- ID
- 1200
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- (无)
- 递交数
- 143
- 已通过
- 21
- 上传者