东方博宜oj 1561 - 买木头

#include
using namespace std;
struct node {
    int len;
    int num;
};
node a[10010];
int n, m, ma, c;
int main () {
    cin >> n >> m >> a[1].len >> a[1].num;
    ma = a[1].len;
    for (int i = 2; i <= n; i ++) {
        a[i].len = ((a[i - 1].len * 37011 + 10193) % 10000) + 1;
        a[i].num = ((a[i - 1].num * 73011 + 24793) % 100) + 1;
        if (a[i].len > ma) ma = a[i].len;
    }
    for (int i = ma; i >= 1; i --) {
        c = 0;
        for (int j = 1; j <= n; j ++) {
            c += a[j].len / i * a[j].num;
            if (c >= m) {
                cout << i;
                return 0;
            }
        }
    }
    return 0;
}
 

你可能感兴趣的:(c++,数学建模,开发语言)