Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <stdio.h>#include <string.h>#include <string>#include <math.h>#include <algorithm>#include <iostream>using namespace std;int W[10005], H[10005];int M, N;int main() {scanf("%d %d", &M, &N);int ans = 0x7fffffff;for(int i = 0; i < N; i ++) {scanf("%d %d", &W[i], &H[i]);}for(int i = 0; i < N; i ++) {int cnt_h = 0, h = 0, m = M;//m为剩余宽度for(int j = 0; j < N; j ++) {if(j != i) {if(W[j] > m) {double lv = (double) W[j] / (double) m;double ll = (double) H[j] / lv;//cout << "j " << j << " " << ll << " " << ceil( ll ) << endl;h = max(h, (int)ceil(ll) );m = M;