为什么60分,求调

P2367 语文成绩

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


|