社区讨论

逗我:蜜汁TLE第三个点

P1868饥饿的奶牛参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@mi6m3ky3
此快照首次捕获于
2025/11/20 07:06
4 个月前
此快照最后确认于
2025/11/20 07:06
4 个月前
查看原帖
CPP
#include<stdio.h>
struct mon
{
    int x;
    int y;
    int z;    
};
void qsort(struct mon a[],int l,int r)
{
    int i,j,mid;
    struct mon p;
    i=l;
    j=r;
    mid=a[(l+r)/2].y;
    while(i<=j)
{
    while(a[i].y<mid)
    i++;
    while(a[j].y>mid)
    j--;
    if(i<=j)
{
    p=a[i];
    a[i]=a[j];
    a[j]=p;
    i++;
    j--;
}
}
    if(l<j)
    qsort(a,l,j);
    if(i<r)
    qsort(a,i,r);
}
int main()  
{
    int n,i,j,k,maxn=0,f[3000001];
    struct mon a[3000001];
    scanf("%d",&n);
    for (i=1;i<=n;i++)  
{  
    scanf("%d%d",&a[i].x,&a[i].y);
    a[i].z=a[i].y-a[i].x+1;
}  
    qsort(a,1,n);
    for(i=1;i<=n;i++)
{
    f[i]=a[i].z;
    if(maxn<f[i])
    maxn=f[i];
}
    for(i=2;i<=n;i++)
{
    k=0;
    for(j=1;j<i;j++)
    if(a[i].x>a[j].y&&k<f[j])  
    k=f[j];
    f[i]+=k;
    if(maxn<f[i])
    maxn=f[i];
}
    printf("%d",maxn);
    return 0;
}

回复

0 条回复,欢迎继续交流。

正在加载回复...