首页 > 其他 > 详细

CF798D Mike and distribution 贪心

时间:2019-10-22 16:51:50      阅读:122      评论:0      收藏:0      [点我收藏+]

我感觉这道题挺神的~ 

code: 

#include <bits/stdc++.h>   
#define N 100020 
#define setIO(s) freopen(s".in","r",stdin) 
using namespace std;      
struct node 
{
    int x,y,num; 
}a[N];    
int n,cnt,ans[N];  
int cmp(node x,node y) 
{
    return x.x==y.x?x.y>y.y:x.x>y.x;     
}
int main() 
{ 
    // setIO("input");    
    int i,j; 
    scanf("%d",&n); 
    for(i=1;i<=n;++i) scanf("%d",&a[i].x); 
    for(i=1;i<=n;++i) scanf("%d",&a[i].y);    
    for(i=1;i<=n;++i) a[i].num=i; 
    sort(a+1,a+1+n,cmp), ans[++cnt]=a[1].num; 
    for(i=2;i<=n;i+=2) 
    {
        if(a[i].y>a[i+1].y) ans[++cnt]=a[i].num; 
        else ans[++cnt]=a[i+1].num;       
    }
    printf("%d\n",cnt);    
    for(i=1;i<=cnt;++i) printf("%d ",ans[i]); 
    return 0; 
}

  

CF798D Mike and distribution 贪心

原文:https://www.cnblogs.com/guangheli/p/11720581.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!