1つ:ゲーム
トピック説明リンク:NOIP2012改良グループ再戦キングゲーム(欲張りソリューション+高精度計算)
2:LCS
トピック説明リンク:HDU 1159
3:5
:カタランシーケンスカタランシーケンステンプレート:カタランシーケンス
4:
圧縮後に削減できる量を保存し、差を並べ替え、圧縮されていないメモリの合計を記録し、この値をハードディスクのサイズと比較します(大きい場合)、以前に記録された差を減らし、結果を減らします1回+1。すべての削減が目標に達しない場合は、-1を出力します。
コード
#include <iostream>
#include <cstring>
#include <algorithm>
#include <vector>
using namespace std;
int a[1010];
int main()
{
int n, m;
cin >> n >> m;
int sum = 0;
for(int i = 0; i < n; i++)
{
int x, y;
cin >> x >> y;
sum += x;
a[i] = x - y;
}
sort(a, a + n);
reverse(a, a + n);
int ans = 0;
int i = 0;
while(sum > m)
{
ans++;
sum -= a[i++];
if(i > n)
{
cout << -1 <<endl;
return 0;
}
}
cout <<ans << endl;
return 0;
}