NC15052. 求最值
描述
给你一个长为n的序列a
定义f(i,j)=(i-j)2+g(i,j)2
输入描述
第一行一个数n
之后一行n个数表示序列a
输出描述
输出一行一个数表示答案
示例1
输入:
4 1 0 0 -1
输出:
1
C++11(clang++ 3.9) 解法, 执行用时: 40ms, 内存消耗: 1496K, 提交时间: 2019-09-17 21:02:01
#include<bits/stdc++.h> using namespace std; int a[100010]; long long m=1e18,t; int main(){int n,i,j,k,l;cin>>n;for(i=1;i<=n;i++)cin>>a[i];for(i=1;i<=2;i++){for(j=0;j<=n-i;j++){t=0;for(l=1;l<=i;l++)t+=a[j+l];m=min(m,t*t+(i)*(i));}}cout<<m;return 0;}