QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#824765 | #9770. Middle Point | ucup-team4474# | WA | 0ms | 4136kb | C++20 | 2.5kb | 2024-12-21 15:41:09 | 2024-12-21 15:41:11 |
Judging History
answer
#include<algorithm>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<cassert>
#include<cstdio>
#include<cctype>
#include<vector>
#include<bitset>
#include<random>
#include<ctime>
#include<queue>
#include<cmath>
#include<list>
#include<map>
#include<set>
#define pb push_back
#define mp make_pair
#define pii pair<int,int>
#define pll pair<long long,long long>
#define FF fflush(stdout)
#define inf 0x3f3f3f3f
#define endl "\n"
#define fi first
#define se second
typedef long long ll;
typedef unsigned long long ull;
using namespace std;
//char buf[1<<20],*p1,*p2;
//#define getchar() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<20,stdin),p1==p2)?EOF:*p1++)
inline int read()
{
int s=0,f=1;
char x=getchar();
while(!isdigit(x))f=(x=='-'?-1:1),x=getchar();
while(isdigit(x))s=s*10+x-'0',x=getchar();
return s*f;
}
const int p=1e9+7;
//ll ksm(int a,int b){ll ans=1,bs=a;while(b){if(b&1)ans=ans*bs%p;bs=bs*bs%p;b>>=1;}return ans;}
mt19937 rd(time(0));
#define reaD read
void dfs(vector<pair<pii,int>> &ans,int l,int r,int x,int d,int op=0)
{
int mid=(l+r)>>1;
ans.pb(mp(mp(l*d,r*d),op));
if(mid==x)
{
return ;
}
if(mid<x)dfs(ans,mid,r,x,d,0);
else dfs(ans,l,mid,x,d,1);
}
vector<pair<pii,int>> sol(int a,int x)
{
vector<pair<pii,int>> ans;
if(x==0||x==a)return ans;
int aa=a;
while(aa%2==0)aa>>=1;
if(x%aa)
{
puts("-1");
exit(0);
}
dfs(ans,0,a/aa,x/aa,aa);
return ans;
}
int main()
{
int a=read(),b=read(),x=read(),y=read();
vector<pair<pii,int>> a1=sol(a,x),a2=sol(b,y);
vector<pii> A1,A2;
if(a1.size()<a2.size())
{
int T=a2.size()-a1.size();
int now=T;
while(T--)
{
if(x!=0&&(x==a||a2[now].se==1))
{
A1.pb(mp(a,a));
}
else
{
A1.pb(mp(0,0));
}
}
}
if(a1.size()>a2.size())
{
int T=a1.size()-a2.size();
int now=T;
while(T--)
{
if(y!=0&&(y==b||a1[now].se==1))
{
A2.pb(mp(b,b));
}
else
{
A2.pb(mp(0,0));
}
}
}
for(auto o:a1)A1.pb(o.fi);
for(auto o:a2)A2.pb(o.fi);
printf("%d\n",(int)(A1.size()));
for(int i=0;i<A1.size();i++)
{
printf("%d %d %d %d\n",A1[i].fi,A2[i].fi,A1[i].se,A2[i].se);
}
return 0;
}
/*
128 256
21 192
*/
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 4028kb
input:
2 2 1 1
output:
1 0 0 2 2
result:
ok correct!
Test #2:
score: 0
Accepted
time: 0ms
memory: 4060kb
input:
8 8 5 0
output:
3 0 0 8 0 4 0 8 0 4 0 6 0
result:
ok correct!
Test #3:
score: 0
Accepted
time: 0ms
memory: 3780kb
input:
0 0 0 0
output:
0
result:
ok correct!
Test #4:
score: 0
Accepted
time: 0ms
memory: 4028kb
input:
2024 0 1012 0
output:
1 0 0 2024 0
result:
ok correct!
Test #5:
score: 0
Accepted
time: 0ms
memory: 3644kb
input:
2024 2024 2023 2023
output:
-1
result:
ok correct!
Test #6:
score: 0
Accepted
time: 0ms
memory: 4136kb
input:
8 6 7 3
output:
3 0 0 8 0 4 0 8 0 6 0 8 6
result:
ok correct!
Test #7:
score: 0
Accepted
time: 0ms
memory: 4060kb
input:
2024 2026 2024 2026
output:
0
result:
ok correct!
Test #8:
score: 0
Accepted
time: 0ms
memory: 3804kb
input:
1000000000 1000000000 70 0
output:
-1
result:
ok correct!
Test #9:
score: 0
Accepted
time: 0ms
memory: 3648kb
input:
3 6 2 4
output:
-1
result:
ok correct!
Test #10:
score: 0
Accepted
time: 0ms
memory: 3712kb
input:
7 7 7 2
output:
-1
result:
ok correct!
Test #11:
score: 0
Accepted
time: 0ms
memory: 3712kb
input:
6 2 5 2
output:
-1
result:
ok correct!
Test #12:
score: 0
Accepted
time: 0ms
memory: 3868kb
input:
5 7 5 5
output:
-1
result:
ok correct!
Test #13:
score: 0
Accepted
time: 0ms
memory: 3648kb
input:
4 7 2 3
output:
-1
result:
ok correct!
Test #14:
score: 0
Accepted
time: 0ms
memory: 3776kb
input:
8 2 2 2
output:
2 0 2 8 2 0 2 4 2
result:
ok correct!
Test #15:
score: 0
Accepted
time: 0ms
memory: 3712kb
input:
3 3 0 2
output:
-1
result:
ok correct!
Test #16:
score: 0
Accepted
time: 0ms
memory: 3608kb
input:
7 7 1 4
output:
-1
result:
ok correct!
Test #17:
score: 0
Accepted
time: 0ms
memory: 3576kb
input:
6 3 6 1
output:
-1
result:
ok correct!
Test #18:
score: 0
Accepted
time: 0ms
memory: 3728kb
input:
4 2 2 1
output:
1 0 0 4 2
result:
ok correct!
Test #19:
score: 0
Accepted
time: 0ms
memory: 3580kb
input:
7 2 3 2
output:
-1
result:
ok correct!
Test #20:
score: 0
Accepted
time: 0ms
memory: 3576kb
input:
2 7 0 3
output:
-1
result:
ok correct!
Test #21:
score: 0
Accepted
time: 0ms
memory: 3772kb
input:
1 7 1 0
output:
0
result:
ok correct!
Test #22:
score: 0
Accepted
time: 0ms
memory: 3852kb
input:
5 1 0 0
output:
0
result:
ok correct!
Test #23:
score: 0
Accepted
time: 0ms
memory: 3648kb
input:
8 7 4 3
output:
-1
result:
ok correct!
Test #24:
score: 0
Accepted
time: 0ms
memory: 3896kb
input:
180057652 674822131 110693180 428023738
output:
-1
result:
ok correct!
Test #25:
score: 0
Accepted
time: 0ms
memory: 3604kb
input:
62347541 812142018 42922107 486416913
output:
-1
result:
ok correct!
Test #26:
score: 0
Accepted
time: 0ms
memory: 3716kb
input:
239604722 244429197 78993837 108804105
output:
-1
result:
ok correct!
Test #27:
score: 0
Accepted
time: 0ms
memory: 3612kb
input:
416861903 381749084 375027630 373683256
output:
-1
result:
ok correct!
Test #28:
score: 0
Accepted
time: 0ms
memory: 3584kb
input:
594119084 519068971 429116021 298715088
output:
-1
result:
ok correct!
Test #29:
score: -100
Wrong Answer
time: 0ms
memory: 3852kb
input:
536870912 536870912 233225286 372408647
output:
29 0 0 0 536870912 0 268435456 536870912 536870912 0 268435456 268435456 402653184 134217728 335544320 268435456 402653184 201326592 369098752 268435456 402653184 201326592 369098752 234881024 385875968 218103808 369098752 234881024 377487360 226492416 369098752 234881024 373293056 230686720 3711959...
result:
wrong answer (218103808,369098752) is not in S