牛客网 F题 集训队脱单大法:这是一道只能由学姐我自己出数据的水题

这是一道关于计算最大重量差的算法题,描述了如何通过切割具有不同单位重量的ZZZZone,找到两部分重量差绝对值最大的切割方式。输入包含长度和单位重量,输出最大重量差。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

链接:https://ac.nowcoder.com/acm/contest/322/F
来源:牛客网
 

集训队脱单大法:这是一道只能由学姐我自己出数据的水题

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld

题目描述

        总所不周知!ZZZZone有了女朋友却谁也不知道。但是ZZZZone在集训队总是和陈大佬走的很近,每天搂搂抱抱十分不成体统!于是就被ZZZZone的女朋友给知道了,但是呢,ZZZZone的女朋友是一个热爱画画的温柔又可爱的女子,于是她决定把ZZZZone大卸两块,没错是两块!!

       ZZZZone呢他的长度为 n,并且每个单位长度都有一个相对应的重量,他的小女朋友希望将ZZZZone切成两部分后,两个部分中的最大重量之差的绝对值最大(显然两个部分均不能为空啊),她呢觉得很惆怅,不知道该怎么切最好,所以想让你们来想想办法。

输入描述:

第一行为一个n(2 <= n <= 105),表示ZZZZone的长度,第二行为n个数,表示ZZZZone每个单位长度的重量(0 <= a[i] <= 106)。

输出描述:

输出切成两部分后,每部分的重量的最大值之差的绝对值最大是多少。

示例1

输入

复制

4
3 4 1 6

输出

复制

3

备注:

对于样例:

4

3 4 1 6

那么一共有 3 种切法,分别是:

第一部分为 { 3 }, 第二部分为{ 4,1,6 },此时两部分的最大值之差的绝对值为 3

第一部分为 { 3,4 }, 第二部分为{ 1, 6 },此时两部分的最大值之差的绝对值为 2

第一部分为 { 3,4,1 }, 第二部分为{ 6 },此时两部分的最大值之差的绝对值为 2

所以答案为3.

暴力就完事了。

#include<stdio.h>
#include <math.h>
int a[100000];
int max(int a[],int k,int j)
{
    int i,m=a[k];
    for(i=k;i<=j;i++)
        if(a[i]>m)
            m=a[i];
    return m;
}
int main()
{
    int i,j,k,n,l,r,m=0;
    scanf("%d",&n);
    for(i=0;i<n;i++)
        scanf("%d",&a[i]);
    for(i=0;i<n-1;i++)
    {
        l=max(a,0,i);
        r=max(a,i+1,n-1);
        if(fabs(l-r)>m)
            m=fabs(l-r);
    }
    printf("%d",m);
    return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值