1896: 985的買飲料難題
Time Limit: 1 Sec Memory Limit: 128 MBDescription
天氣太熱了,985制定了對未來的規劃即第i天喝a[i]瓶飲料。爲了節約開支,他打聽到了第i天每瓶飲料的價格p[i]。
爲了不讓自己的規劃落空,他想知道這n天他至少要花多少錢。
精明的985可以選擇在任意一天買數目不限的飲料,而且他有一個神奇的冰箱,可以將提前購買的飲料保存下來(至少在這n天裏是可以飲用的)。
Input
第一行輸入一個整數t,代表有t組測試數據。
每組數據第一行輸入一個整數n代表規劃的總天數,接下來有n行,每行輸入兩個整數a[],p[]分別代表上面提到的信息。
注:1 <= t <= 30,1 <= n <= 1000,1 <= a[],p[] <= 100。
Output
輸出一個整數代表最後的結果。
Sample Input
2 2 25 56 94 17 5 39 21 95 89 73 90 9 55 85 32
Sample Output
2998 6321
是第i天購買的最優單價是min(p[j]) (1 <= j <= i)
所以統計一遍即可
#include<stdio.h>
#include<algorithm>
int a[1200],p[1200];
int main() {
int T;
scanf("%d",&T);
while(T--) {
int n;
scanf("%d",&n);
for(int i=0; i<n; i++)
scanf("%d %d",&a[i],&p[i]);
int res=0;
for(int i=n-1; i>=0; i--) {
int max=p[0];
for(int j=1; j<=i; j++) {
if(max>p[j])
max=p[j];
}
res+=max*a[i];
}
printf("%d\n",res);
}
return 0;
}
題目地址:【鄭輕】[1896]985的買飲料難題