intmain(void){ cin>>n; for(int i = 1 ; i <= n ; i ++){ cin>>a[i]; pre[i] = pre[i-1] + a[i]; } for(int i = 1 ; i < n ; i ++){ sum += a[i]*(pre[n] - pre[i]); } cout<<sum; return0; }
boolcheck(int jp){ memcpy(t,h,sizeof(h)); for(int i = 1 ; i <= x ; i ++){ int now = 0; while(now + jp < n){ int nex = now + jp; while(nex > now && t[nex] == 0) nex--; if(nex <= now) returnfalse; now = nex; t[now]--; } } returntrue; }
intmain(void){ cin>>n>>x; x *= 2; for(int i = 1 ; i < n ; i ++){ cin>>h[i]; } int l = 0; int r = n; while(l+1 != r){ int mid = (l+r)/2; if(check(mid)) r = mid; else l = mid; } cout<<r; return0; }
boolcheck(int jp){ for(int i = 1 ; i+jp-1 < n ; i ++){ if(pre[i+jp-1] - pre[i-1] < x){ returnfalse; } } returntrue; }
intmain(void){ cin>>n>>x; x *= 2; for(int i = 1 ; i < n ; i ++){ cin>>h[i]; pre[i] = pre[i-1] + h[i]; } int l = 0; int r = n; while(l+1 != r){ int mid = (l+r)/2; if(check(mid)) r = mid; else l = mid; } cout<<r; return0; }