题解 | 耕种时间到!

耕种时间到!

https://www.nowcoder.com/practice/06f09bafcf3740cf88c08629b0443a8e

#include <iostream>
#include <vector>
#include <cmath>
#include <algorithm>
using namespace std;

#define IOS ios::sync_with_stdio(0), cin.tie(0), cout.tie(0)
#define int long long

int test(int in) {
    int out = ceil(double(in) / 3.0);
    return out;
}

signed main()
{
    IOS;

    int n;
    cin >> n;
    vector<int> a (n, 0);
    for (int i = 0; i < n; i++) {
        cin >> a[i];
    }
    int x = 0;
    cin >> x;

    sort(a.begin(), a.end());


    int num_min = x;
    int num_max = x;
    int num = 1;
    int ans = 0;
    int ans_max = 0;
    for (int i = 0; i < n; i++) {
        if (a[i] >= num_min && a[i] <= num_max) {
            ans += num;
            // cout << "a[" << i << "] = " << a[i] << endl;
            // cout << "num = " << num << endl;
        }

        if (a[i] < num_min) {
            continue;
        }

        if (a[i] > num_max) {
            num *= 2;
            num_min = num_min * 3 - 2;
            num_max = num_max * 3;
            i--;
            ans = 0;
        }
        if(ans > ans_max) {
            ans_max = ans;
        }
    }

    cout << ans_max << endl;




    return 0;
}

全部评论

相关推荐

10-29 18:20
济南大学 Java
用微笑面对困难:他不是人事吗,怎么净特么不干人事
点赞 评论 收藏
分享
11-23 15:14
中原工学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务