http://acm.hit.edu.cn/hoj/problem/view?id=1685
一行放不下另起一行
#include <stdio.h>
int main()
{
int m, maxw, width, maxh, height, sumw, sumh;
while (scanf("%d", &m) && m)
{
maxw = sumw = 0, maxh = sumh = 0;
while (scanf("%d %d", &width, &height) != EOF)
{
if(width == -1 && height == -1)
break;
if(maxw + width > m)
{
if(maxw > sumw)
sumw = maxw;
sumh += maxh;
maxw = width;
maxh = height;
}
else
{
maxw += width;
if(height > maxh)
maxh = height;
if(maxw > sumw)
sumw = maxw;
}
}
if(maxw > sumw)
sumw = maxw;
sumh += maxh;
printf("%d x %d\n", sumw, sumh);
}
return 0;
}