问题 A: Cakey McCakeFace

Cakey McCakeFace’s signature pastry, the Unknowable Cake, is baked daily in their Paris facility.
The make-or-break trick for this cake is the cooking time, which is a very well-kept secret. Eve, the well-known spy, wants to steal this secret, and your job is to help her.
Cakes are cooked in a single huge oven that has exactly one front and one back door. The uncooked cakes are inserted through the front door. After the exact and very secret cooking time has passed, the cakes exit the oven through the back door. Only one cake can go through the front or back door at any given time.
Eve has secretly installed detectors at the front and back of the oven. They record a signal every time a cake passes through the doors. A cake will therefore trigger the entry detector at some time t when it goes through the front door, and then trigger the exit detector at time exactly t + cooking_time when it goes through the back door (all cakes at Cakey McCakeFace are always perfectly cooked).
After a few days, she receives two sets of timestamps (in ms) corresponding to entry and exit detectors. Unfortunately, the detectors  are faulty: they are sometimes triggered when no cake has passed, or they may fail to be triggered when a cake passes. Eve noticed that she could make a good guess of the secret cooking_time by finding the time difference that maximizes the number of  correspondences of entry and exit detection times. Help Eve compute this.

输入

• Line 1: the number N of times the entry detector was triggered.
• Line 2: the number M of times the exit detector was triggered.
• Line 3: the N integer timestamps at which the entry detector was triggered, sorted in ascending
order, with no repetition, space-separated.
• Line 4: the M integer timestamps at which the exit detector was triggered, sorted in ascending
order, with no repetition, space-separated.
Limits
• 1≤N, M≤2 000;
• each timestamp is between 0 and 1 000 000 000 (inclusive).

输出

A single integer: your best guess of the secret cooking_time, the (positive or zero) time difference that maximizes the number of correspondences of entry and exit detection times. If multiple such values exist, the smallest one should be returned.

样例输入

5

5

0 10 12 20 30

1 5 17 27 50

样例输出

5


题意:记录蛋糕进烤箱以及出烤箱的时间点,但是记录时间点的设备有故障,可能没有蛋糕的时候记录了,可能有蛋糕的时候没记录,第一个数是记录了几次入口的时间点,第二个数是记录了几次出口的时间点,让你输出一个蛋糕完全烤好所需要的时间

★两行数不是对应的,求差值,哪一个差值出现的次数最多,如果一样多,输出最小的,可以输出0.

★这里用到了不定长数组 vector,不然容易内存超限

AC代码:

#include<stdio.h>
#include<algorithm>
#include<vector>
using namespace std;
vector<long long int> c;//定义不定长数组vector
int main()
{
    long long int n,m;
    long long int a[2005],b[2005];
    scanf("%lld%lld",&n,&m);
    long long int i,j;
    for(i=0; i<n; i++)
        scanf("%lld",&a[i]);
    for(i=0; i<m; i++)
        scanf("%lld",&b[i]);
    for(i=0; i<n; i++)
        for(j=0; j<m; j++)
        {
            if(b[j]>=a[i])
                c.push_back((b[j]-a[i]));//将出现的差值放入数组中
        }
    sort(c.begin(),c.end());//给数组排序(vector数组排序的套路),用来后面统计差值出现的次数
    j=0;
    long long int k=1,sum=0,t=c.size(); //c.size()读取大小
    for(i=0; i<t-1; i++)
    {
        if(c[i]==c[i+1])
            k++;
        else
        {
            if(k>sum)
            {
                sum=k;
                j=c[i];//用j记录出现次数最多的差值
            }
            k=1;//一个差值统计结束,k重新初始化,来统计下一个
        }
    }
    printf("%lld\n",j);
    return 0;
}




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大学生参加学科竞赛有着诸多好处,不仅有助于个人综合素质的提升,还能为未来职业发展奠定良好基础。以下是一些分析: 首先,学科竞赛是提高专业知识和技能水平的有效途径。通过参与竞赛,学生不仅能够深入学习相关专业知识,还能够接触到最新的科研成果和技术发展趋势。这有助于拓展学生的学科视野,使其对专业领域有更深刻的理解。在竞赛过程中,学生通常需要解决实际问题,这锻炼了他们独立思考和解决问题的能力。 其次,学科竞赛培养了学生的团队合作精神。许多竞赛项目需要团队协作来完成,这促使学生学会有效地与他人合作、协调分工。在团队合作中,学生们能够学到如何有效沟通、共同制定目标和分工合作,这对于日后进入职场具有重要意义。 此外,学科竞赛是提高学生综合能力的一种途径。竞赛项目通常会涉及到理论知识、实际操作和创新思维等多个方面,要求参赛者具备全面的素质。在竞赛过程中,学生不仅需要展现自己的专业知识,还需要具备创新意识和解决问题的能力。这种全面的综合能力培养对于未来从事各类职业都具有积极作用。 此外,学科竞赛可以为学生提供展示自我、树立信心的机会。通过比赛的舞台,学生有机会展现自己在专业领域的优势,得到他人的认可和赞誉。这对于培养学生的自信心和自我价值感非常重要,有助于他们更加积极主动地投入学习和未来的职业生涯。 最后,学科竞赛对于个人职业发展具有积极的助推作用。在竞赛中脱颖而出的学生通常能够引起企业、研究机构等用人单位的关注。获得竞赛奖项不仅可以作为个人履历的亮点,还可以为进入理想的工作岗位提供有力的支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值