zoj 1563
#include<iostream>
#include<fstream>
using namespace std;
int p[101];
int sum[101];
int dp[101];
int n;
void read(){
// ifstream cin("in.txt");
int i,j,k;
int cas;
cin>>cas;
while(cas--)
{
cin>>n;
for(i=1;i<=n;i++)
{
cin>>j>>p[i];
sum[i]=sum[i-1]+j;
}
for(i=1;i<=n;i++)
{
dp[i]=1000000000;
for(j=0;j<i;j++)
dp[i]=min(dp[i],dp[j]+(sum[i]-sum[j]+10)*p[i]);
}
cout<<dp[n]<<endl;
}
}
int main(){
read();
return 0;
}
#include<fstream>
using namespace std;
int p[101];
int sum[101];
int dp[101];
int n;
void read(){
// ifstream cin("in.txt");
int i,j,k;
int cas;
cin>>cas;
while(cas--)
{
cin>>n;
for(i=1;i<=n;i++)
{
cin>>j>>p[i];
sum[i]=sum[i-1]+j;
}
for(i=1;i<=n;i++)
{
dp[i]=1000000000;
for(j=0;j<i;j++)
dp[i]=min(dp[i],dp[j]+(sum[i]-sum[j]+10)*p[i]);
}
cout<<dp[n]<<endl;
}
}
int main(){
read();
return 0;
}
浙公网安备 33010602011771号