| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 659 人关注过本帖
标题:按照样例,运行后输出数值是对的,提交后得分为0,不知道错在哪里?
取消只看楼主 加入收藏
d2701
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2023-6-27
结帖率:0
收藏
已结贴  问题点数:20 回复次数:0 
按照样例,运行后输出数值是对的,提交后得分为0,不知道错在哪里?
爷爷要过生日了,小明希望给他准备一份生日礼物,预算大约为 m 元。已知有 n 件礼物可以挑选,
第 i 件的价格为 p[i]元。请挑选其中的一件,价钱最好是越接近 m 元越好,如果有两个礼物同样接
近 m 元,挑选贵的那件。请输出最终礼物的价格。
【输入格式】
输入文件 gift.in
输入第一行为正整数 m 和 n,m<=1000,n<=1000
第二行为 n 个正整数代表每个礼物的价格,均不超过 1000
【输出格式】
输出文件 gift.out
输出一个正整数
【输入输出样例 1】
gift.in     200 3
        100 300 310
gift.out 300
【输入输出样例 1 说明】对于 200 元目标价格,100 元和 300 元同样接近 200 元,选较贵的 300元
【输入输出样例 2】
gift.in     100 5
        90 80 70 102 99
gift.out 99
【数据规模与约定】
对于 50%数据,n<=100
对于 100%数据,n<=1000

#include<bits/stdc++.h>
using namespace std;
    int abs(int y){
    if(y>0) return y;
    else return -y;
}
int main(){
    freopen("gift.in","r",stdin);
    freopen("gift.out","w",stdout);
    int m,n,p[n],min=1000,max=0;
    cin>>m>>n;
    for(int i=0;i<n;i++){
        cin>>p[i];   
        if(abs(p[i]-m)<=min){
            min=abs(p[i]-m);
            max=p[i];            
        }
    }
    for(int i=0;i<n;i++)
        if(p[i]>=max&&abs(p[i]-m)==min) max=p[i];   
    cout<<max<<endl;
    return 0;
}



[此贴子已经被作者于2023-6-27 19:36编辑过]

搜索更多相关主题的帖子: 输出 礼物 max int 输入 
2023-06-27 18:37
快速回复:按照样例,运行后输出数值是对的,提交后得分为0,不知道错在哪里?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020220 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved