#include <stdio.h>
//#include <stdlib.h>
int c[10001]={0}, y[10001]={0};
double cal(int n, int s);
int main(void)
{
int n, s, i;
double price;
scanf(" %d %d", &n, &s);
//기간 - n주, 1주일 동안 보관하는데 드는 비용 - s원
for(i=0; i<n; i++)
{
scanf(" %d %d", &c[i], &y[i]);
//c원 - 1l 구매가격
//각 주마다 yl의 우유 필요
}
price=cal(n, s);
printf("%.0f", price);
return 0;
}
double cal(int n, int s)
{
int i, j;
double price, min, a;
price=(1.0)*c[0]*y[0]; //첫주에 필요한 금액
for(i=1; i<n; i++)
{
min=(1.0)*c[i]*y[i]; //필요한 주에 구매할 경우 금액
for(j=0; j<i; j++)
{
a=((1.0)*y[i]*c[j])+((1.0)*y[i]*s*(i-j)); //이전에 미리 사둘 경우 금액
if(a<min) //더 싼 가격 찾기
{
min=a;
//printf("i=%d j=%d a=%.0f \n", i, j, a);
//system("PAUSE");
}
}
//printf("i=%d j=%d min=%.0f \n", i, j, min);
//system("PAUSE");
price+=min; //더 싼 금액을 더한다
}
return price;
}
2018.03.17 10:09
정올 - 알고리즘 - 요플레공장(2194)
조회 수 427 추천 수 0 댓글 0