QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#398414#3769. 共线点xlwang#AC ✓20ms3712kbC++141.6kb2024-04-25 11:50:282024-04-25 11:50:29

Judging History

This is the latest submission verdict.

  • [2024-04-25 11:50:29]
  • Judged
  • Verdict: AC
  • Time: 20ms
  • Memory: 3712kb
  • [2024-04-25 11:50:28]
  • Submitted

answer

#include<bits/stdc++.h>
#define int long long
#define fr(i,j,k) for(register int i=j;i<=k;++i)
#define rf(i,j,k) for(register int i=j;i>=k;--i)
#define foredge(i,j) for(register int i=head[j];i;i=e[i].nxt)
#define pb push_back
#define Times printf("Time:%.3lf\n",clock()/CLOCKS_PER_SEC)
using namespace std;
inline int read(){
	int x=0;
	bool f=0;
	char c=getchar();
	while(!isdigit(c)) f|=(c=='-'),c=getchar();
	while(isdigit(c)) x=(x<<3)+(x<<1)+(c^48),c=getchar();
	return f?-x:x;
}
inline void write(int x){
    if(x<0){putchar('-');x=-x;}
    if(x>9)write(x/10);
    putchar(x%10+'0');
}
inline void writeln(int x){write(x); puts("");}
inline void writepl(int x){write(x); putchar(' ');}
mt19937 rnd(chrono::steady_clock::now().time_since_epoch().count());
inline int randfind(int l,int r){return rnd()%(r-l+1)+l;}
//inline void init(){
//	int t=read();
//	while(t--) work();
//}
struct node{
    int x,y;
};
bool operator < (node a,node b){
    return a.y*b.x<a.x*b.y;
}
int a[3],b[3],c[3];
inline void work(){
    cin>>b[0]>>c[0];
    fr(i,1,2) cin>>a[i]>>b[i]>>c[i];
    int l,r;
    l=ceil((double)(a[1]-b[0])/(c[1]-c[0])*(c[2]-c[0])+b[0]);
    r=floor((double)(b[1]-a[0])/(c[1]-c[0])*(c[2]-c[0])+a[0]);
    // cout<<l<<' '<<r<<endl;
    if(min(r,b[2])>=max(l,a[2])) puts("Yes");
    else puts("No");
}
inline void init(){
    while(cin>>a[0]) work();
}
signed main(){
	// freopen("input.in","r",stdin);
	// freopen("output.out","w",stdout);
    init();
    // printf("\nTIME:%.3lf",(double)clock()/CLOCKS_PER_SEC);
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 20ms
memory: 3712kb

input:

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

output:

Yes
Yes
No
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
Yes
Yes
Yes
Yes
Yes
No
No
Yes
Yes
No
Yes
Yes
No
Yes
Yes
Yes
Yes
Yes
No
Yes
Yes
No
Yes
No
Yes
Yes
Yes
Yes
Yes
Yes
No
Yes
Y...

result:

ok 10000 lines