我的洗發水,特級特技加特技23333 比較簡單的貪心,我們可以發現只要在開頭加過一遍特技就可以一直獲得收益(只要在結束的時候再加一遍),所以為了獲得盡可能多的收益,我們將價值大的特技盡可能放在兩邊,貪心的正確性其實是很顯然的(廢話,顯不顯然我都是不會證明的)
#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<algorithm>using namespace std;const int N=1010;int c[N],ans,n,k;inline int F(){ register int aa,bb;register char ch; while (ch=getchar(),(ch<'0'||ch>'9'));aa=ch-'0'; while (ch=getchar(),ch<='9'&&ch>='0')aa=(aa<<3)+(aa<<1)+ch-'0';return aa;}bool cmp(const int &a,const int &b){return a>b;} int main(){ cin>>n>>k; for (int i=1;i<=k;i++) c[i]=F(); sort(c+1,c+k+1,cmp); k=min(k,n/2); n--; ans=0; for (int i=1;i<=k;i++) { ans+=n*c[i]; n-=2; } cout<<ans; }新聞熱點
疑難解答