kkkk2022o 2023-01-03 20:34 采纳率: 0%
浏览 19

洛谷T304782 不会做 https://www.luogu.com.cn/problem/T304782

本蒟蒻因为太蒻不会做
题目背景

阿杰是斗罗大陆的一名6岁儿童,斗罗历2023年2月5日是他觉醒武魂的日子。

随着科技的不断发展,武魂可以进行选择了!(对不起各位先前废武魂拥有者)。

现在阿杰想要请你帮忙算一算选哪3个武魂最省时还有超强的能力!(一定要最优哦!)

三生武魂了解一下!

题目描述

有n个武魂,第i武魂的能力值为Mi,觉醒第i个武魂的时间为Ti,武魂组合的能力值是(最大的武魂的能力值+最小武魂的能力值)×武魂个数÷2
现在阿杰想要知道能在尽可能少的时间内获得能力值最多的三武魂组合
阿杰的想法:武魂能力值优先,如果能力值相同,时间越短越好!
三生武魂很常见的好不好当年霍雨浩叱咤江湖不就三生吗

输入格式

第一行输入一个正整数n 后面接着输入n行 第1+i行输入Mi Ti两个非负有理数

输出格式

输出第几(i)个组合尽可能少的时间内获得能力值最多的三武魂组合 即3个i 中间用空格分开

输入输出样例
输入

4
1 1
2 3
4 1
4 2

输出

2 3 4

说明/提示
数据范围

(保证不会有重复相同时间获得精力值最多的三武魂组合)
50>=n>=3 0<Ti<9223372036854775807.0

40%的数据保证 Mi<9223372036854775807.0

100%的数据保证 0<Mi<9223372036854775807+65536

替阿杰谢谢你

#include<bits/stdc++.h>
using namespace std;
long long n;
bool vis[1000005];
struct node{
  double x;
  int id;  
}a[100005];
double b[1000005];
bool cmp(node x,node y)
{
    return x.x>y.x;
}
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i].x>>b[i];
        a[i].id=i;
    }
    sort(a+1,a+n+1,cmp);
    for(int i=1;i<=3;i++)
    {
        vis[a[i].id]++;
    }
    for(int i=1;i<=n;i++)
    {
        if(vis[i]!=0)
        {
            cout<<i<<" ";
        }
    }
    return 0;
}

只有四十分
不知道哪里错了
求各位巨佬帮忙看下 悬赏一个关注 qwq
  • 写回答

1条回答 默认 最新

  • bekote 2023-01-04 10:00
    关注

    时间也要参与排序,能力值相同时,时间值小的排前面

    评论

报告相同问题?

问题事件

  • 创建了问题 1月3日

悬赏问题

  • ¥65 LineageOs-21.0系统编译问题
  • ¥30 关于#c++#的问题,请各位专家解答!
  • ¥15 App的会员连续扣费
  • ¥15 不同数据类型的特征融合应该怎么做
  • ¥15 用proteus软件设计一个基于8086微处理器的简易温度计
  • ¥15 用联想小新14Pro
  • ¥15 multisim中关于74ls192n和DSWPK开关仿真图分析(减法计数器)
  • ¥15 w3wp,exe 中发生未处理的 Microsoft ,NETFramework 异常。
  • ¥20 C51单片机程序及仿真(加减器)
  • ¥15 AQWA | 水动力分析 二阶波浪力