QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#430186#8780. Training, Round 2ucup-team3555WA 1ms4108kbC++14812b2024-06-03 15:44:192024-06-03 15:44:19

Judging History

你现在查看的是最新测评结果

  • [2024-06-03 15:44:19]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:4108kb
  • [2024-06-03 15:44:19]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;

typedef long long ll;
const int N=5e3+3;
int n,ax[N],bx[N],ay[N],by[N];
set<int>S[N];
bool vis[N][N];
int main()
{
	cin>>n;int kx,ky,mx=0;cin>>kx>>ky;S[0].insert(0);vis[0][0]=1;
	for(int i=1;i<=n;i++)cin>>ax[i]>>bx[i]>>ay[i]>>by[i];
	for(int i=1;i<=n;i++)ax[i]-=kx,bx[i]-=kx,ay[i]-=ky,by[i]-=ky;
	for(int t=1;t<=n;t++)for(int i=min(ay[t],t);i>=max(ax[t],0);i--)
	{
		auto tl=S[i].lower_bound(ay[t]),tr=S[i].upper_bound(by[t]);
		vector<int>ve;
		for(auto it=tl;it!=tr;it++)
		{
			int x=*it;
			if(!vis[i+1][x])vis[i+1][x]=1,S[i+1].insert(x);
			if(!vis[i][x+1])vis[i][x+1]=1,ve.push_back(x+1);
		}
		S[i].erase(tl,tr);
		for(int x:ve)S[i].insert(x);
	}
	for(int i=0;i<=n;i++)for(int j=0;j<=n;j++)if(vis[i][j])mx=max(mx,i+j);
	cout<<mx;
}

详细

Test #1:

score: 0
Wrong Answer
time: 1ms
memory: 4108kb

input:

3 0 0
0 1 0 1
1 1 0 1
1 1 1 1

output:

1

result:

wrong answer 1st lines differ - expected: '3', found: '1'