BZOJ——2697: 特技飞行
生活随笔
收集整理的這篇文章主要介紹了
BZOJ——2697: 特技飞行
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
http://www.lydsy.com/JudgeOnline/problem.php?id=2697
Time Limit:?10 Sec??Memory Limit:?256 MB
Submit:?852??Solved:?548
[Submit][Status][Discuss]
Description
神犇航空開展了一項(xiàng)載客特技飛行業(yè)務(wù)。每次飛行長(zhǎng)N個(gè)單位時(shí)間,每個(gè)單位時(shí)間可以進(jìn)行一項(xiàng)特技動(dòng)作,可選的動(dòng)作有K種,每種動(dòng)作有一個(gè)刺激程度Ci。如果連續(xù)進(jìn)行相同的動(dòng)作,乘客會(huì)感到厭倦,所以定義某次動(dòng)作的價(jià)值為(距上次該動(dòng)作的時(shí)間)*Ci,若為第一次進(jìn)行該動(dòng)作,價(jià)值為0。安排一種方案,使得總價(jià)值最大。
?
Input
第一行,兩個(gè)數(shù),N和K,如上所述;第二行,K個(gè)正整數(shù),表示K種動(dòng)作的Ci值。
Output
僅一行,一個(gè)整數(shù),表示最大總價(jià)值。Sample Input
5 22 2
Sample Output
12HINT
?
數(shù)據(jù)規(guī)模及約定
對(duì)于10%的測(cè)試數(shù)據(jù),N<=20,K<=3
對(duì)于全部的測(cè)試數(shù)據(jù),1<=N<=1000,1<=K<=300,0<=Ci<=1000。
?
Source
?
優(yōu)先讓C大的的間隔時(shí)間長(zhǎng)
1 #include <algorithm> 2 #include <cstdio> 3 4 inline void read(int &x) 5 { 6 x=0; register char ch=getchar(); 7 for(; ch>'9'||ch<'0'; ) ch=getchar(); 8 for(; ch>='0'&&ch<='9'; ch=getchar()) x=x*10+ch-'0'; 9 } 10 const int K(326); 11 int n,k,c[K],ans; 12 13 int Presist() 14 { 15 read(n),read(k); 16 for(int i=1; i<=k; ++i) read(c[i]); 17 std::sort(c+1,c+k+1); 18 for(int l=1,i=k,r=n; i&&l<=n>>1&&r>=n>>1; --i,++l,--r) 19 ans+=c[i]*(r-l); 20 printf("%d\n",ans); 21 return 0; 22 } 23 24 int Aptal=Presist(); 25 int main(int argc,char**argv){;}?
轉(zhuǎn)載于:https://www.cnblogs.com/Shy-key/p/7678771.html
總結(jié)
以上是生活随笔為你收集整理的BZOJ——2697: 特技飞行的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AC日记——简单密码 openjudge
- 下一篇: 一件很好笑的事情