萌新求助,这题数据下载不了
查看原帖
萌新求助,这题数据下载不了
92076
123ZDQ楼主2020/11/13 13:30

图片

P1868

附上我的代码,求好心人帮我下个数据,谢谢啦

#include<bits/stdc++.h>
using namespace std;
#define pln puts("")
#define il inline
#define For(i,a,b) for(int i=(a),(i##i)=(b);i<=(i##i);++i)
#define rep(i,n) for(int i=0,(i##i)=(n);i<(i##i);++i)
#define Fodn(i,a,b) for(int i=(a),(i##i)=(b);i>=(i##i);--i)
typedef long long LL;
typedef unsigned int u32;
typedef unsigned long long u64;
template<typename T>
il bool read(T &x){
	x=0;char c=getchar();int f=1;
	while((c<'0'||c>'9')&&(c!='-')&&(c!=EOF))c=getchar();
	if(c==EOF)return 0;
	if(c=='-')f=-1,c=getchar();
	while(c>='0'&&c<='9'){x=(x<<1)+(x<<3)+(c&15);c=getchar();}
	x*=f;return 1;
}
const int N=1000010,M=1000000007,INF=0x3f3f3f3f;
const LL INFLL=0x3f3f3f3f3f3f3f3fLL;

int n,f[N],may;

struct dat{int x,y;}a[N];
il bool operator<(const dat&a,const dat&b){return (a.y==b.y)?(a.x<b.x):(a.y<b.y);}

int main(){

	read(n);
	For(i,1,n){
		read(a[i].x);read(a[i].y);a[i].x+=10;a[i].y+=10;
		may=max(may,a[i].y);
	}
	sort(a+1,a+1+n);

	int tot=1;
	For(i,1,may){
		f[i]=f[i-1];
		while((tot<=n)&&(a[tot].y<=i)){
			int d=a[tot].y-a[tot].x+1;//printf("%d\n",i-d);
			f[i]=max(f[i],f[i-d]+d);
			++tot;
		}
		//printf("%d ",f[i]);
	}
	printf("%d\n",f[may]);
	//For(i,1,may)printf("%d ",f[i]);

	return 0;

}
2020/11/13 13:30
加载中...