最基础的差分题
  • 板块学术版
  • 楼主dream_Hao
  • 当前回复4
  • 已保存回复4
  • 发布时间2022/7/20 23:01
  • 上次更新2023/10/27 19:11:51
查看原帖
最基础的差分题
427711
dream_Hao楼主2022/7/20 23:01

各位大佬救救孩子吧!!!

快调崩溃了(只有60分)

#include<iostream>
using namespace std;
long long int n,p;

void ccf(long long int w[])
{
    long long int i;
    for(i=2;i<=n;i++){
        w[i]-=w[i-1];
    }
}

void cf(long long int a,long long int b,long long int c,long long int w[])
{
    w[a]+=c;
    w[b+1]-=c;
}

void qzh(long long int num[])
{
    long long int i;
    for(i=2;i<=n;i++){
        num[i]+=num[i-1];
    }
}

void cs(long long int w[],long long int a[],long long int b[],long long int c[])
{
    long long int i;
    ccf(w);
    for(i=1;i<=p;i++){
        cf(a[i],b[i],c[i],w);
    }
    qzh(w);
}


int main()
{
    cin>>n>>p;
    long long int w[n+2],a[p+1],b[p+1],c[p+1],i;
    for(i=1;i<=n;i++){
        cin>>w[i];
    }
    for(i=1;i<=p;i++){
        cin>>a[i]>>b[i]>>c[i];
    }
    cs(w,a,b,c);
    long long int mix=w[1];
    for(i=2;i<=n;i++){
        mix=min(mix,w[i]);
    }
    cout<<mix;




    cin>>n;



    return 0;
}
2022/7/20 23:01
加载中...