QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#660309#9427. Collect the CoinsMirasycleRE 0ms3700kbC++141.2kb2024-10-20 10:14:562024-10-20 10:14:57

Judging History

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

  • [2024-11-06 15:56:27]
  • hack成功,自动添加数据
  • (/hack/1139)
  • [2024-10-20 10:14:57]
  • 评测
  • 测评结果:RE
  • 用时:0ms
  • 内存:3700kb
  • [2024-10-20 10:14:56]
  • 提交

answer

#include<bits/stdc++.h>
#define pb emplace_back
#define fi first
#define se second
#define mp make_pair
using namespace std;
typedef long long ll;
const int maxn=1e3+10;//记得改回来 
void chkmax(int &x,int y){ x=x>y?x:y; }
void chkmin(int &x,int y){ x=x<y?x:y; }
struct node{
	int t,x;
	bool operator < (const node &rhs){ return t<rhs.t; }
}a[maxn];
int t[maxn],x[maxn],p[maxn],n; bool f[maxn][maxn];
bool check(int v){
	for(int i=0;i<=n;i++)
		for(int j=0;j<=n;j++) f[i][j]=0;
	f[0][0]=1;
	for(int i=0;i<n;i++){
		if(f[i][0]){
			f[i+1][i]=1;
			for(int j=0;j<=i;j++) f[i][j]=1;
		}
		for(int j=1;j<=i;j++){
			if(abs(x[i+1]-x[i])<=1ll*v*(t[i+1]-t[i])) 
				f[i+1][j]|=f[i][j];
			if(abs(x[i+1]-x[j])<=1ll*v*(t[i+1]-t[j]))
				f[i+1][i]|=f[i][j]; 
		}
	}
	bool flag=0;
	for(int i=0;i<=n;i++) flag|=f[n][i];
	return flag;
}
void solve(){
	ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
	cin>>n;
	for(int i=1;i<=n;i++) cin>>a[i].t>>a[i].x;
	sort(a+1,a+1+n); 
	for(int i=1;i<=n;i++) t[i]=a[i].t,x[i]=a[i].x;
	int l=0,r=1e9;
	while(l<r){
		int mid=(l+r)>>1;
		if(check(mid)) r=mid;
		else l=mid+1;
	}
	if(check(l)) cout<<l<<endl;
	else cout<<"-1"<<endl;
}
int main(){
	int T; cin>>T;
	while(T--) solve();
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3700kb

input:

3
5
1 1
3 7
3 4
4 3
5 10
1
10 100
3
10 100
10 1000
10 10000

output:

2
0
-1

result:

ok 3 lines

Test #2:

score: -100
Runtime Error

input:

1135
2
6 5
8 8
8
2 9
2 10
4 4
5 3
6 2
6 8
8 2
8 7
1
9 1
6
4 6
6 1
6 2
9 10
10 1
10 7
5
1 6
2 5
6 7
8 6
10 3
8
1 10
5 4
5 7
6 1
6 6
8 4
9 1
9 4
8
1 1
1 3
2 9
3 3
5 9
6 10
9 7
10 7
3
5 8
6 6
10 6
7
2 9
4 7
5 10
6 3
6 7
8 9
10 1
6
1 4
2 8
5 9
7 10
9 1
10 5
9
2 7
4 5
5 9
6 10
7 4
9 4
9 9
10 3
10 7
1
3 1...

output:

0
3
0
3
1
3
6
0
3
2
2
0
2
5
0
1
5
1
3
0
0
0
2
4
2
0
2
1
3
0
3
2
7
2
5
3
2
1
0
1
1
1
0
2
0
1
0
1
0
2
1
0
2
4
4
4
1
3
1
0
1
3
0
1
4
4
3
0
0
3
2
7
4
2
1
0
0
1
0
2
1
2
0
1
1
3
0
0
1
2
0
3
0
3
2
2
1
0
0
0
5
1
2
0
6
1
1
1
3
2
2
0
3
1
4
3
6
0
8
1
1
3
1
2
2
4
1
1
0
0
0
7
4
2
1
0
0
3
1
2
1
1
2
5
4
0
5
3
3
5
...

result: