80分求调
查看原帖
80分求调
1819630
lingxingfurry楼主2025/8/29 14:05

#1 runtime error

#include <bits/stdc++.h>
using namespace std;
int main(){
    int a, b, c, d, x, fr = 0, fr1 = 0, num = 0;
    vector <int> jr, jr1, xr, xr1;
    cin >> a >> b >> c >> d;
    jr.emplace_back(a);
    jr.emplace_back(0);
    jr.emplace_back(a);
    jr.emplace_back(a);
    jr1.emplace_back(0);
    jr1.emplace_back(1);
    jr1.emplace_back(1);
    xr.emplace_back(0);
    xr.emplace_back(0);
    xr.emplace_back(0);
    xr.emplace_back(a);
    xr.emplace_back(a);
    xr1.emplace_back(0);
    xr1.emplace_back(1);
    xr1.emplace_back(1);
    xr1.emplace_back(1);
    for(int i = 0; i < b-1; i++){
        if(i >= jr.size()-1) 
            jr.emplace_back(jr[i]+jr[i-1]);
        if(i >= jr1.size()-1) 
            jr1.emplace_back(jr1[i]+jr1[i-1]);
        if(i >= xr.size()-1) 
            xr.emplace_back(xr[i]+xr[i-1]);
        if(i >= xr1.size()-1) 
            xr1.emplace_back(xr1[i]+xr1[i-1]);
    }
    for(int i = 0; i < b-1; i++){
        if(i == 0){
            fr += jr[i]-xr[i];
            continue;
        }
        if(i == 1 || i == 2){
            if(i == 2) fr += a;
            fr1 += 0;
            continue;
        }
        else{
            fr += jr[i]-xr[i];
            fr1 += jr1[i]-xr1[i];
        }
    }
    x = (c-fr)/fr1;
    for(int i = 0; i < d; i++){
        jr1[i] *= x;
        xr1[i] *= x;
        jr[i] += jr1[i];
        xr[i] += xr1[i];
        num += jr[i]-xr[i];
    }
    cout << num <<endl;
    return 0;
}
2025/8/29 14:05
加载中...