#HX3259. 01背包练习题七:精卫填海

提交1 通过1
通过率100%
时间限制1000ms
内存限制128MiB
    ID: 12756 传统题 1000ms 128MiB 尝试: 1 已通过: 1 难度: 普及 上传者: 标签>C++c++编程题浩轩OJ迁移6级动态规划之背包专题

题目描述

题目描述

“发鸠之山,其上多柘木。有鸟焉,其状如乌,文首,白喙,赤足,名曰精卫,其名自詨。是炎帝之少女,名曰女娃。女娃游于东海,溺而不返,故为精卫。常衔西山之木石,以堙于东海。------《山海经》”

精卫终于快把东海填平了!只剩下了最后的一小片区域了。同时,西山上的木石也已经不多了。精卫能把东海填平吗?

事实上,东海未填平的区域还需要至少体积为 v 的木石才可以填平,而西山上的木石还剩下 n 块,第 i 块的体积为 k_i,把它衔到东海需要的体力为 m_i。精卫已经填海填了这么长时间了,她也很累了,她还剩下的体力为 c。

输入格式

输入文件的第一行是三个整数:v、n、c。

从第二行到第 n+1 行分别为每块木石的体积和把它衔到东海需要的体力。

输出格式

如果精卫能填平东海,输出填平东海后剩下的最大体力,否则输出“Impossible”(不带引号)。

100 2 10
50 5
50 5
0
10 2 1
50 5
10 2
Impossible
10 2 5
6 3
4 2
0

数据范围与约定

对于 20% 的数据,0<n≤50;对于 50% 的数据,0<n≤1000;对于 100% 的数据,0<n≤10000,所有读入的数均小于等于 10000,最后结果小于等于 c。