zzxzzx_ @ 2024-12-01 17:03:42
#include <bits/stdc++.h>
using namespace std;
int n,p,i,x,y,z,g[100005],q[100005],c[100005],j;
bool camp(int a,int b)
{
return a<b;
}
int main()
{
cin >> n >> p;
for(i=1;i<=n;i++)
{
cin >> g[i];
c[i]=g[i]-g[i-1];
}
for(i=1;i<=p;i++)
{
cin >> x >> y >> z;
c[x]+=z;
c[y+1]-=z;
}
for(i=1;i<=n;i++)
{
q[i]=q[i-1]+c[i];
}
sort(q,q+n,camp);
cout << q[1] << endl;
return 0;
}
by huyinuo @ 2024-12-01 17:08:29
可以看看我的代码
#include<bits/stdc++.h>
using namespace std;
const int N=5e6+10;
int n,q,a[N],b[N],s[N],Min=0x3f3f3f3f;
int main()
{
scanf("%d%d",&n,&q);
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
for(int i=1;i<=n;i++) b[i]=a[i]-a[i-1];
while(q--)
{
int x,y,z;
scanf("%d%d%d",&x,&y,&z);
b[x]+=z;b[y+1]-=z;
}
for(int i=1;i<=n;i++)
{
s[i]=s[i-1]+b[i];
Min=min(Min,s[i]);
}
printf("%d\n",Min);
return 0;
}
by oliver_0828 @ 2024-12-01 17:15:29
试一试改sort函数的参数为q+1,q+n+1,camp