QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#306002#6818. Barrel TheorylmeowdnAC ✓121ms4120kbC++142.7kb2024-01-16 08:42:192024-01-16 08:42:21

Judging History

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

  • [2024-01-16 08:42:21]
  • 评测
  • 测评结果:AC
  • 用时:121ms
  • 内存:4120kb
  • [2024-01-16 08:42:19]
  • 提交

answer

//vanitas vanitatum et omnia vanitas
#include<bits/stdc++.h>
#define fi first
#define se second
#define eb emplace_back
#define mp make_pair
using namespace std;
typedef long double ld;
typedef long long ll;
typedef unsigned long long ull;
typedef __int128 i128;
template<typename T,typename U>
T ceil(T x, U y) {return (x>0?(x+y-1)/y:x/y);}
template<typename T,typename U>
T floor(T x, U y) {return (x>0?x/y:(x-y+1)/y);}
template<class T,class S>
bool chmax(T &a,const S b) {return (a<b?a=b,1:0);}
template<class T,class S>
bool chmin(T &a,const S b) {return (a>b?a=b,1:0);}
int popcnt(int x) {return __builtin_popcount(x);}
int popcnt(ll x)  {return __builtin_popcountll(x);}
int topbit(int x) {return (x==0?-1:31-__builtin_clz(x));}
int topbit(ll x)  {return (x==0?-1:63-__builtin_clzll(x));}
int lowbit(int x) {return (x==0?-1:__builtin_ctz(x));}
int lowbit(ll x)  {return (x==0?-1:__builtin_ctzll(x));}

#define int long long
#define rep(i,a,b) for(int i=(a);i<=(b);i++)
#define per(i,a,b) for(int i=(a);i>=(b);i--)
typedef pair<int,int> pii;
typedef vector<int> vi;
typedef vector<pii> vp;
typedef tuple<int,int,int> tiii;
int read() {
  int x=0,w=1; char c=getchar(); 
  while(!isdigit(c)) {if(c=='-') w=-1; c=getchar();}
  while(isdigit(c)) {x=x*10+(c-'0'); c=getchar();} 
  return x*w;
}

const int N=15;

signed main() {
  int T=read();
  rep(test,1,T) {
    int n=read(), m=read();
    if(n==1) {
      puts("NO");
      continue;
    }
    if(n==2) {
      int x=-1,y=-1;
      rep(i,1,m-1) {
        if((i^(m-i))<min(i,m-i)) {x=i, y=m-i; break;}
      }
      if(x==-1) puts("NO");
      else printf("YES\n%lld %lld\n",x,y);
      continue;
    }
    if(n==3) {
      int x=-1,y=-1,z=-1;
      rep(i,1,12) rep(j,1,m-i) {
        int k=m-i-j;
        if((i^j^k)<min(min(i,j),k)) {x=i,y=j,z=k;}
      }
      if(x==-1) puts("NO");
      else printf("YES\n%lld %lld %lld\n",x,y,z);
      continue;
    }
    if(n%2==0&&m%2==0) {
      puts("YES");
      rep(i,1,n-2) printf("1 ");
      printf("%lld %lld\n",(m-(n-2))/2,(m-(n-2))/2);
    } else if(n%2==0&&m%2==1) {
      if(m<=2*n) puts("NO");
      else {
        puts("YES");
        rep(i,1,n-3) printf("2 ");
        printf("3 %lld %lld\n",(m-(2*n-3))/2,(m-(2*n-3))/2);
      }
    } else if(n%2==1&&m%2==0) {
      if(m<n+3) puts("NO");
      else {
        puts("YES");
        rep(i,1,n-4) printf("1 ");
        printf("2 3 %lld %lld\n",(m-(n+1))/2,(m-(n+1))/2);
      }
    } else {
      if(m<2*n+7) puts("NO");
      else {
        puts("YES");
        rep(i,1,n-4) printf("2 ");
        printf("4 7 %lld %lld\n",(m-(2*n+3))/2,(m-(2*n+3))/2);
      }
    }
  }
  return 0;
}

这程序好像有点Bug,我给组数据试试?

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

3
6 7
5 17
4 4

output:

NO
YES
2 4 7 2 2
YES
1 1 1 1

result:

ok T=3 (3 test cases)

Test #2:

score: 0
Accepted
time: 2ms
memory: 3760kb

input:

4194
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
1 11
1 12
1 13
1 14
1 15
1 16
1 17
1 18
1 19
1 20
1 21
1 22
1 23
1 24
1 25
1 26
1 27
1 28
1 29
1 30
1 31
1 32
1 33
1 34
1 35
1 36
1 37
1 38
1 39
1 40
1 41
1 42
1 43
1 44
1 45
1 46
1 47
1 48
1 49
1 50
1 51
1 52
1 53
1 54
1 55
1 56
1 57
1 58
1 59
1 60
1 61...

output:

NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
...

result:

ok T=4194 (4194 test cases)

Test #3:

score: 0
Accepted
time: 3ms
memory: 4048kb

input:

1
2 10000000

output:

YES
4194304 5805696

result:

ok T=1 (1 test case)

Test #4:

score: 0
Accepted
time: 119ms
memory: 4120kb

input:

1
3 9999999

output:

YES
12 4999999 4999988

result:

ok T=1 (1 test case)

Test #5:

score: 0
Accepted
time: 0ms
memory: 3760kb

input:

1
5 9999999

output:

YES
2 4 7 4999993 4999993

result:

ok T=1 (1 test case)

Test #6:

score: 0
Accepted
time: 0ms
memory: 3812kb

input:

1
6 9999999

output:

YES
2 2 2 3 4999995 4999995

result:

ok T=1 (1 test case)

Test #7:

score: 0
Accepted
time: 1ms
memory: 3764kb

input:

1
6 10000000

output:

YES
1 1 1 1 4999998 4999998

result:

ok T=1 (1 test case)

Test #8:

score: 0
Accepted
time: 3ms
memory: 4020kb

input:

20
42 500000
18468 500000
6335 500000
6501 500000
19170 500000
15725 500000
11479 500000
9359 500000
6963 500000
4465 500000
5706 500000
8146 500000
3282 500000
16828 500000
9962 500000
492 500000
2996 500000
11943 500000
4828 500000
5437 500000

output:

YES
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 249980 249980
YES
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

result:

ok T=20 (20 test cases)

Test #9:

score: 0
Accepted
time: 4ms
memory: 3772kb

input:

20
46 500000
9217 500000
4199 500000
17796 500000
9485 500000
19651 500000
14591 500000
6432 500000
10706 500000
18317 500000
5558 500000
8190 500000
12653 500000
607 500000
12154 500000
17830 500000
9814 500000
10368 500000
6659 500000
8962 500000

output:

YES
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 249978 249978
YES
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

result:

ok T=20 (20 test cases)

Test #10:

score: 0
Accepted
time: 3ms
memory: 3684kb

input:

5104
2 2
2 3
2 4
2 5
2 6
2 7
2 8
2 9
2 10
2 11
2 12
2 13
2 14
2 15
2 16
2 17
2 18
2 19
2 20
2 21
2 22
2 23
2 24
2 25
2 26
2 27
2 28
2 29
2 30
2 31
2 32
2 33
2 34
2 35
2 36
2 37
2 38
2 39
2 40
2 41
2 42
2 43
2 44
2 45
2 46
2 47
2 48
2 49
2 50
2 51
2 52
2 53
2 54
2 55
2 56
2 57
2 58
2 59
2 60
2 61
2 6...

output:

YES
1 1
NO
YES
2 2
YES
2 3
YES
3 3
NO
YES
4 4
YES
4 5
YES
4 6
YES
4 7
YES
5 7
YES
6 7
YES
7 7
NO
YES
8 8
YES
8 9
YES
8 10
YES
8 11
YES
8 12
YES
8 13
YES
8 14
YES
8 15
YES
9 15
YES
10 15
YES
11 15
YES
12 15
YES
13 15
YES
14 15
YES
15 15
NO
YES
16 16
YES
16 17
YES
16 18
YES
16 19
YES
16 20
YES
16 21
Y...

result:

ok T=5104 (5104 test cases)

Test #11:

score: 0
Accepted
time: 121ms
memory: 3760kb

input:

33333
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
3 300
...

output:

YES
11 145 144
YES
11 145 144
YES
11 145 144
YES
11 145 144
YES
11 145 144
YES
11 145 144
YES
11 145 144
YES
11 145 144
YES
11 145 144
YES
11 145 144
YES
11 145 144
YES
11 145 144
YES
11 145 144
YES
11 145 144
YES
11 145 144
YES
11 145 144
YES
11 145 144
YES
11 145 144
YES
11 145 144
YES
11 145 144
...

result:

ok T=33333 (33333 test cases)