首页 > 其他 > 详细

洛谷 1583

时间:2020-01-03 14:54:03      阅读:88      评论:0      收藏:0      [点我收藏+]
#include "cstdio"
#include "iostream"
#include "algorithm"
using namespace std;
struct node {
    int w;
    int id;
}s[20010];
bool cmp(node a,node b){
    if (a.w==b.w)
    return a.id<b.id;
    return a.w>b.w;
}
int main (){
    int n,m,e[12];
    scanf ("%d%d",&n,&m);
    for (int i = 1 ; i <= 10 ; i++)scanf ("%d",&e[i]);
    for (int i = 1 ; i <= n ; i++){
        scanf("%d",&s[i].w);
        s[i].id=i;
    }
    sort(s+1,s+n+1,cmp);
    for (int i = 1 ; i <= n ; i++){
        s[i].w +=e[(i-1)%10+1];
    }
    sort(s+1,s+n+1,cmp);
    for (int i = 1; i <= m; i++){
        if (i==m)
        printf ("%d",s[i].id);
        else 
        printf ("%d ",s[i].id);
    }
    printf ("\n");
}
  1. 数组大小问题
  2. sort排序升序降序问题(第一次排序没考虑相同的值)

洛谷 1583

原文:https://www.cnblogs.com/AChappy/p/12144551.html

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