• CodeForces 798D 思维,贪心


    CodeForces 798D

    题意:长度为 n的两个数组 a[]和 b[],要找出 k ( k<=n/2+1 )个下标,使得在两个数组中这 k个数的和乘上 2 要大于所有数的和。

    tags: 思维

    按a[]数组从大到小排一下序,把 1取掉,然后后面的每 2个取b[]大的那个,这样可以保证要求。

    #include<bits/stdc++.h>
    using namespace std;
    #pragma comment(linker, "/STACK:102400000,102400000")
    #define rep(i,a,b) for (int i=a;i<=b;i++)
    #define per(i,b,a) for (int i=b;i>=a;i--)
    #define mes(a,b)  memset(a,b,sizeof(a))
    #define INF 0x3f3f3f3f
    #define MP make_pair
    #define PB push_back
    #define fi  first
    #define se  second
    typedef long long ll;
    const int N = 200005;
    
    int n;
    pair<int , pair<int, int >  > p[N];
    int main()
    {
        scanf("%d", &n);
        rep(i,1,n) scanf("%d", &p[i].fi), p[i].se.se=i;
        rep(i,1,n) scanf("%d", &p[i].se.fi);
        sort(p+1, p+1+n);
        printf("%d
    ", n/2+1);
        printf("%d ", p[n].se.se);
        for(int i=n-1; i>=2; i-=2)
        {
            printf("%d ", p[i].se.fi>p[i-1].se.fi ? p[i].se.se : p[i-1].se.se);
        }
        if(n%2==0) printf("%d", p[1].se.se);
        puts("");
    
        return 0;
    }
  • 相关阅读:
    PPT_标题
    产品需求撰写-架构图
    测试
    SparkLauncher 1.6 版本bug
    Github fork同步
    Maven 配置远程仓库
    Sqoop2中传入配置文件中url之【坑】
    Spark性能优化-coalesce(n)
    面试算法题目
    Git 基本概念及常用命令
  • 原文地址:https://www.cnblogs.com/sbfhy/p/7191670.html
Copyright © 2020-2023  润新知