建议加强数据

P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G

说不定 O2 把你的程序优化为 n方了
by lcyxds @ 2021-04-07 14:46:38


@[dinglinxi0409](/user/368289) ~~另外正解是 $O(n)$ 的队列~~
by lcyxds @ 2021-04-07 14:47:31


@[dinglinxi0409](/user/368289) 我也是! ```cpp using namespace std; int n,_Ans,i,sz[Maxn]; int main(){ cin>>n; for (i=1;i<=n;i++) cin>>sz[i]; _Ans=0; for (i=1;i<=n-1;i++){ sort(sz+i,sz+n+1); _Ans+=sz[i]+sz[i+1]; sz[i+1]=sz[i]+sz[i+1]; } cout<<_Ans<<endl; return 0; } ```
by Edwin_liannan @ 2021-05-03 21:46:39


``cpp #include <bits/stdc++.h> #define Maxn 10002 using namespace std; int n,sz[Maxn]; long long _Ans; int main() { cin>>n; for(int i=1;i<=n;i++) cin>>sz[i]; sort(sz+1,sz+n+1); _Ans=sz[1]*(n-1); for(int i=2;i<=n;i++) _Ans+=sz[i]*(n-i+1); cout<<_Ans; } ```
by Edwin_liannan @ 2021-05-03 21:47:31


```cpp #include <bits/stdc++.h> #define Maxn 10002 using namespace std; int n,sz[Maxn]; long long _Ans; int main() { cin>>n; for(int i=1;i<=n;i++) cin>>sz[i]; sort(sz+1,sz+n+1); _Ans=sz[1]*(n-1); for(int i=2;i<=n;i++) _Ans+=sz[i]*(n-i+1); cout<<_Ans; } ```
by Edwin_liannan @ 2021-05-03 21:48:00


|