QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#725504 | #7735. Primitive Root | Gordensoul | AC ✓ | 24ms | 3864kb | C++14 | 28.0kb | 2024-11-08 18:22:32 | 2024-11-08 18:22:33 |
Judging History
answer
#define _CRT_SECURE_NO_WARNINGS
//#pragma GCC optimize(3, "Ofast", "inline")
#include<bits/stdc++.h>
#include<unordered_map>
#include<unordered_set>
#include<array>
#include<random>
using namespace std;
#define for1 for(int i = 1;i <= n;i++)
#define for0 for(int i = 0;i < n;i++)
#define forj1 for(int j = 1;j <= n;j++)
#define forj0 for(int j = 0;j < n;j++)
#define form1 for (int j = 1; j <= m; j++)
#define form0 for (int j = 0; j < m; j++)
#define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0)
#define arrn int* arr = new int[n+2];arr[0] = 0,arr[n+1]=0
#define brrn int* brr = new int[n+2];brr[0] = 0,brr[n+1]=0
#define carr for1 cin >> arr[i]
#define carrn arrn;carr
#define coarr for1 cout<<arr[i]<<" ";cout<<endl
#define yes cout<<"Yes\n"
#define no cout<<"No\n"
#define inf 0x3f3f3f3f
#define INF 0x3f3f3f3f3f3f3f3f
#define endl '\n'
#define blank ' '
#define cn int n;cin>>n
#define cnm int n,m;cin>>n>>m
#define T() int _; cin >> _; while (_--)
#define int long long
#define ll long long
#define pii pair<int,int>
const int mode = 998244353;
const int mod = 1e9 + 7;
mt19937_64 rnd(time(0));
typedef uint64_t hash_t;
//chrono::high_resolution_clock::now().time_since_epoch().count()
int ksm(int a, int b = mode - 2)
{
a %= mode;
int ans = 1;
while (b)
{
if (b % 2 == 1)
{
ans = ans * a % mode; b--;
}
a = a * a % mode;
b >>= 1;
}
return ans;
}
int gcd(int a, int b)
{
if (b == 0)return a;
return gcd(b, a % b);
}
long long lcm(long long a, long long b)
{
return (a * b) / gcd(a, b);
}
//const int mod = 1000002361;
bool ccmp(string x, string y)
{
return x.size() > y.size();
}
long long qpow(int a, int b)
{
a% mod;
if (b == 0)return 1ll;
int ret = 1ll;
while (b)
{
if (b % 2)ret = (ret * a) % mod;
b >>= 1;
a = (a * a) % mod;
}
return ret % mod;
}
int one(int n)//计算二进制下1的个数
{
if (n == 0)return 0;
if (n == 1)return 1;
int ret = 0;
for (int i = 0; i < 63; i++)
{
int w = n / (1ll << (i + 1));
ret = (ret + (w * (1ll << i))) % mode;
int yu = n % (1ll << (i + 1));
if (yu >= 1ll << i)
{
ret = (ret + (yu - (1ll << i) + 1)) % mode;
}
}
return ret % mode;
}
bool isspire(int n)
{
if (n <= 1)return false;
if (n == 2)return true;
for (int i = 2; i <= sqrt(n); i++)
{
if (n % i == 0)return false;
}
return true;
}
void solve() {
int p, m;
cin >> p >> m;
int ans = m / p;
if (((m / p * p + 1) ^ (p - 1)) <= m)ans++;
if (((m / p * p + 1 + p) ^ (p - 1)) <= m)ans++;
cout << ans << endl;
}
signed main() {
IOS;
T()
{
solve();
}
return 0;
}
//int arr[1000001];
//int sm[4000004];
//int mx[4000004];
//int mxcnt[4000004];
//int semx[4000004];
////int semxcnt[400004];
//int ad1[4000004];
//int ad2[4000004];
//int ad3[4000004];
//int ad4[4000004];
//int hismx[4000004];
//void up(int i)
//{
// int z = i << 1;
// int y = i << 1 | 1;
// sm[i] = sm[z] + sm[y];
// hismx[i] = max({hismx[z], hismx[y]});
// if (mx[z] > mx[y])
// {
// mx[i] = mx[z];
// mxcnt[i] = mxcnt[z];
// semx[i] = max(mx[y], semx[z]);
// }
// else if (mx[z] < mx[y])
// {
// mx[i] = mx[y];
// mxcnt[i] = mxcnt[y];
// semx[i] = max(mx[z], semx[y]);
// }
// else
// {
// mx[i] = mx[z];
// mxcnt[i] = mxcnt[z] + mxcnt[y];
// semx[i] = max(semx[z], semx[y]);
// }
//}
//void build(int l, int r, int i)
//{
// if (l == r)
// {
// sm[i] = arr[l];
// mx[i] = arr[l];
// mxcnt[i] = 1;
// semx[i] = -1e18;
// // semxcnt[i] = 1;
// ad1[i] = 0;
// ad2[i] = 0;
// ad3[i] = 0;
// ad4[i] = 0;
// hismx[i] = arr[l];
// return;
// }
// int mid = (l + r) >> 1;
// build(l, mid, i << 1);
// build(mid + 1, r, i << 1 | 1);
// up(i);
// ad1[i] = 0;
// ad2[i] = 0;
// ad3[i] = 0;
// ad4[i] = 0;
//}
//
//void lazy(int i, int n,int v1,int v2,int v3,int v4)
//{
// hismx[i] = max({ mx[i] + v3, hismx[i]});
// ad3[i] = max(ad1[i]+v3,ad3[i]);
// ad4[i] = max(ad2[i] + v4, ad4[i]);
// sm[i] += v1 * mxcnt[i];
// sm[i] += v2 * (n-mxcnt[i]);
// mx[i] += v1;
// semx[i] += (semx[i] == -1e18) ? 0 : v2;
// ad1[i] += v1;
// ad2[i] += v2;
//}
//void down(int i, int z, int y)
//{
// int l = i << 1;
// int r = i << 1 | 1;
// int t = max(mx[l], mx[r]);
// if(mx[l]>=mx[r])
// lazy(l, z, ad1[i], ad2[i],ad3[i],ad4[i]);
// else
// lazy(l, z, ad2[i], ad2[i],ad4[i],ad4[i]);
// if (mx[r]==t)
// lazy(r, y, ad1[i], ad2[i],ad3[i],ad4[i]);
// else
// lazy(r, y, ad2[i], ad2[i],ad4[i],ad4[i]);
// ad1[i] = 0;
// ad2[i] = 0;
// ad3[i] = 0;
// ad4[i] = 0;
//}
//
//array<int, 3> que(int jl, int jr, int l, int r, int i)
//{
// if (jl <= l && r <= jr)
// {
// return { sm[i],mx[i],hismx[i] };
// }
// int mid = (l + r) >> 1;
// down(i, mid - l + 1, r - mid);
// array<int, 3>ans = { 0,(int)-1e18,(int)-1e18 };
// if (jl <= mid)
// {
// array<int, 3>a = que(jl, jr, l, mid, i << 1);
// ans[0] += a[0];
// ans[1] = max(ans[1], a[1]);
// ans[2] = max(ans[2], a[2]);
// }
// if (mid + 1 <= jr)
// {
// array<int, 3>a = que(jl, jr, mid + 1, r, i << 1 | 1);
// ans[0] += a[0];
// ans[1] = max(ans[1], a[1]);
// ans[2] = max(ans[2], a[2]);
// }
//
// return ans;
//
//}
//void update(int jl, int jr, int jv, int l, int r, int i)
//{
// if (jv >= mx[i])return;
// if (l >= jl && r <= jr&&jv>semx[i])
// {
//
// lazy(i, r - l + 1, jv - mx[i], 0ll, jv - mx[i], 0ll);
// }
// else
// {
// int mid = (l + r) >> 1;
// down(i, mid - l + 1, r - mid);
// if (jl <= mid)
// update(jl, jr, jv, l, mid, i << 1);
// if (jr >= mid + 1)
// update(jl, jr, jv, mid + 1, r, i << 1 | 1);
// up(i);
// }
//
//}
//void _add(int jl, int jr, int jv, int l, int r, int i)
//{
// if (l >= jl && r <= jr)
// {
// lazy(i, r - l + 1, jv, jv, jv, jv);
// }
// else
// {
// int mid = (l + r) >> 1;
// down(i, mid - l + 1, r - mid);
// if (jl <= mid)
// _add(jl, jr, jv, l, mid, i << 1);
// if (jr >= mid + 1)
// _add(jl, jr, jv, mid + 1, r, i << 1 | 1);
// up(i);
// }
//
//}
//int mul(int a, int b) {
// return (int)((1ll * a * b) % mod);
//}
//int binpow(int a, int pw) {
// int b = 1;
// while (pw) {
// if (pw & 1)
// b = mul(b, a);
// a = mul(a, a);
// pw >>= 1;
// }
// return b;
//}
//int inv(int a) {
// return binpow(a, mod - 2);
//}
//const int N = 1000001;
//int ff[N], rr[N];
//void precalc() {
// ff[0] = 1;
// for (int i = 1; i < N; i++)
// ff[i] = mul(ff[i - 1], i);
// rr[N - 1] = inv(ff[N - 1]);
// for (int i = N - 2; i > -1; i--)
// rr[i] = mul(rr[i + 1], i + 1);
//}
//int C(int n, int k) {
// if (n < 0 || k < 0 || n < k)
// return 0;
// return mul(ff[n], mul(rr[k], rr[n - k]));
//}
//
//int add(int a, int b) {
// if (a + b >= mod)
// return a + b - mod;
// return a + b;
//}
//int arr[100001];
//int mn[400004];
//int mx[400004];
//int sm[400004];
//int laz[400004];
//int change[400004];
//bool vis[400004];
//array<int, 3> build(int l, int r, int i)
//{
// if (l == r)
// {
// sm[i] = arr[l];
// mx[i] = arr[l];
// mn[i] = arr[l];
// laz[i] = 0;
// return{ sm[i],mx[i],mn[i] };
// }
// int mid = (l + r) >> 1;
// array<int, 3> a = build(l, mid, i << 1);
// array<int, 3> b = build(mid + 1, r, i << 1 | 1);
// sm[i] = a[0] + b[0];
// mx[i] = max(a[1], b[1]);
// mn[i] = min(a[2], b[2]);
// laz[i] = 0;
// return { sm[i],mx[i],mn[i] };
//}
//void lazy(int i, int n, int v)
//{
// if (vis[i])
// {
// sm[i] = n * change[i];
// mx[i] = change[i];
// mn[i] = change[i];
// laz[i] = change[i];
// }
// if (v != 0) {
// sm[i] += n * v;
// mx[i] += v;
// mn[i] += v;
// laz[i] += v;
// }
//}
//void down(int i, int z, int y)
//{
// if (laz[i] != 0 || vis[i])
// {
// lazy(i << 1, z, laz[i]);
// lazy(i << 1 | 1, y, laz[i]);
// }
// laz[i] = 0; vis[i] = false;
//}
//void up(int i)
//{
// sm[i] = sm[i << 1] + sm[i << 1 | 1];
// mx[i] = max(mx[i << 1], mx[i << 1 | 1]);
// mn[i] = min(mn[i << 1], mn[i << 1 | 1]);
//}
//array<int, 3> que(int jl, int jr, int l, int r, int i)
//{
// if (jl <= l && r <= jr)
// {
// return{ sm[i],mx[i],mn[i] };
// }
// int mid = (l + r) >> 1;
// down(i, mid - l + 1, r - mid);
// array<int, 3>ans = { 0,-1e18,1e18 };
// if (jl <= mid)
// {
// array<int, 3>a = que(jl, jr, l, mid, i << 1);
// ans[0] += a[0];
// ans[1] = max(a[1], ans[1]);
// ans[2] = min(a[2], ans[2]);
// }
// if (jr >= mid + 1)
// {
// array<int, 3>a = que(jl, jr, mid + 1, r, i << 1 | 1);
// ans[0] += a[0];
// ans[1] = max(a[1], ans[1]);
// ans[2] = min(a[2], ans[2]);
// }
// return ans;
//}
//void _add(int jl, int jr, int jv, int l, int r, int i)
//{
// if (l >= jl && r <= jr)
// {
// lazy(i, r - l + 1, jv);
// }
// else
// {
// int mid = (l + r) >> 1;
// down(i, mid - l + 1, r - mid);
// if (jl <= mid)
// _add(jl, jr, jv, l, mid, i << 1);
// if (jr >= mid + 1)
// _add(jl, jr, jv, mid + 1, r, i << 1 | 1);
// up(i);
// }
//}void update(int jl, int jr, int jv, int l, int r, int i)
//{
// if (l >= jl && r <= jr)
// {
// change[i] = jv;
// vis[i] = true;
// laz[i] = 0;
// lazy(i, r - l + 1, laz[i]);
// }
// else
// {
// int mid = (l + r) >> 1;
// down(i, mid - l + 1, r - mid);
// if (jl <= mid)
// update(jl, jr, jv, l, mid, i << 1);
// if (jr >= mid + 1)
// update(jl, jr, jv, mid + 1, r, i << 1 | 1);
// up(i);
// }
//}
//int mul(int a, int b) {
// return (int)((1ll * a * b) % mod);
// }
// int binpow(int a, int pw) {
// int b = 1;
// while (pw) {
// if (pw & 1)
// b = mul(b, a);
// a = mul(a, a);
// pw >>= 1;
// }
// return b;
// }
// int inv(int a) {
// return binpow(a, mod - 2);
// }
// const int N = 100001;
// int ff[N], rr[N];
// void precalc() {
// ff[0] = 1;
// for (int i = 1; i < N; i++)
// ff[i] = mul(ff[i - 1], i);
// rr[N - 1] = inv(ff[N - 1]);
// for (int i = N - 2; i > -1; i--)
// rr[i] = mul(rr[i + 1], i + 1);
// }
// int C(int n, int k) {
// if (n < 0 || k < 0 || n < k)
// return 0;
// return mul(ff[n], mul(rr[k], rr[n - k]));
// }
//
// int add(int a, int b) {
// if (a + b >= mod)
// return a + b - mod;
// return a + b;
// }
//namespace string_hash
//{#define LL long long
// const int N = 1e6 + 20;
// const int mod1 = 998244353;
// const int mod2 = 1e9 + 7;
// const int P = 1000007;
// LL p1[N], p2[N];
// // 双模数初始化
// void mod_init()
// {
// p1[0] = p2[0] = 1;
// for (int i = 1; i < N; i++)
// {
// p1[i] = p1[i - 1] * P % mod1;
// p2[i] = p2[i - 1] * P % mod2;
// }
// }
// struct Hash_String
// {
// string str;
// int string_size;
// vector<LL> h1, h2;
// Hash_String(string s) : str(s), h1(s.size() + 1), h2(s.size() + 1)
// {
// str = ' ' + str;
// string_size = str.size() - 1;
// for (int i = 1; i < str.size(); i++)
// {
// h1[i] = (h1[i - 1] * P + str[i]) % mod1;
// h2[i] = (h2[i - 1] * P + str[i]) % mod2;
// }
// }
// pair<LL, LL> get(int l, int r)
// {
// if (l > r)
// return { 0, 0 };
// // assert(l <= r && l >= 1 && r <= string_size);
// LL res1 = ((h1[r] - h1[l - 1] * p1[r - l + 1] % mod1) % mod1 + mod1) % mod1;
// LL res2 = ((h2[r] - h2[l - 1] * p2[r - l + 1] % mod2) % mod2 + mod2) % mod2;
// return { res1, res2 };
// }
// ll oneget(int l, int r) // 用于没办法用pair,只能用一个整数,但是单hash又会错的情况
// {
// if (l > r)
// return 0;
// LL res1 = ((h1[r] - h1[l - 1] * p1[r - l + 1] % mod1) % mod1 + mod1) % mod1;
// LL res2 = ((h2[r] - h2[l - 1] * p2[r - l + 1] % mod2) % mod2 + mod2) % mod2;
// return (res1 + P * res2);
// }
// pair<LL, LL> get_substring(int l1, int r1, int l2, int r2)
// {
// auto [v1, v2] = get(l1, r1);
// auto [vv1, vv2] = get(l2, r2);
// return make_pair((v1 * p1[r2 - l2 + 1] % mod1 + vv1) % mod1, (v2 * p2[r2 - l2 + 1] % mod2 + vv2) % mod2);
// // get_hash(l1, r1) * p[r2 - l2 + 1] + get_hash(l2, r2)
// }
// };
//};
//using namespace string_hash;
// int arr[100001];
//int sm1[400004];
//int sm0[400004];
//int mx1[400004];
//int mx0[400004];
//int pre1[4000004];
//int suf1[4000004];
//int pre0[4000004];
//int suf0[4000004];
//bool revers[400004];
//int change[400004];
//bool vis[400004];
//void up(int i, int l, int r)
//{
// int mid = (l + r) >> 1;
// sm1[i] = sm1[i << 1] + sm1[i << 1 | 1];
// sm0[i] = sm0[i << 1] + sm0[i << 1 | 1];
// mx1[i] = max({ mx1[i << 1],mx1[i << 1 | 1] ,suf1[i << 1] + pre1[i << 1 | 1] });
// mx0[i] = max({ mx0[i << 1], mx0[i << 1 | 1] ,suf0[i << 1] + pre0[i << 1 | 1] });
// if (pre1[i << 1] == mid - l + 1)
// pre1[i] = pre1[i << 1] + pre1[i << 1 | 1];
// else pre1[i] = pre1[i << 1];
// if (pre0[i << 1] == mid - l + 1)
// pre0[i] = pre0[i << 1] + pre0[i << 1 | 1];
// else pre0[i] = pre0[i << 1];
// if (suf1[i << 1 | 1] == r - mid)
// suf1[i] = suf1[i << 1 | 1] + suf1[i << 1];
// else suf1[i] = suf1[i << 1 | 1];
// if (suf0[i << 1 | 1] == r - mid)
// suf0[i] = suf0[i << 1 | 1] + suf0[i << 1];
// else suf0[i] = suf0[i << 1 | 1];
//}
//void build(int l, int r, int i)
//{
// if (l == r)
// {
// sm1[i] = arr[l];
// sm0[i] = 1-arr[l];
// mx1[i] = sm1[i];
// mx0[i] = sm0[i];
// pre1[i] = sm1[i];
// pre0[i] = sm0[i];
// suf1[i] = sm1[i];
// suf0[i] = sm0[i];
// vis[i] = false;
// revers[i] = false;
// change[i] = 0;
// //return{ sm1[i],sm0[i],mx1[i],mx0[i],pre1[i],pre0[i],suf1[i],suf0[i] };
// return;
// }
// int mid = (l + r) >> 1;
// build(l, mid, i << 1);
// build(mid + 1, r, i << 1 | 1);
// up(i, l, r);
// vis[i] = false;
// revers[i] = false;
// change[i] = 0;
// //return{ sm1[i],sm0[i],mx1[i],mx0[i],pre1[i],pre0[i],suf1[i],suf0[i] };
//}
//void ulazy(int i, int n,int v)
//{
// if (v == 1) {
// sm1[i] = n;
// sm0[i] = 0;
// mx1[i] = n;
// mx0[i] = 0;
// pre1[i] = n;
// pre0[i] = 0;
// suf1[i] = n;
// suf0[i] = 0;
// }
// else
// {
// sm1[i] = 0;
// sm0[i] = n;
// mx1[i] = 0;
// mx0[i] = n;
// pre1[i] = 0;
// pre0[i] = n;
// suf1[i] = 0;
// suf0[i] = n;
// }
// change[i] = v;
// vis[i] = true;
// revers[i] = false;
//}
//void rlazy(int i, int n)
//{
// swap(sm1[i], sm0[i]);
// swap(mx1[i], mx0[i]);
// swap(pre1[i], pre0[i]);
// swap(suf1[i], suf0[i]);
// revers[i] = !revers[i];
//}
//void down(int i, int z, int y)
//{
// if (vis[i])
// {
// ulazy(i << 1, z,change[i]);
// ulazy(i << 1 | 1, y,change[i]);
// vis[i] = false;
// }
// if (revers[i])
// {
// rlazy(i << 1, z);
// rlazy(i << 1 | 1, y);
// revers[i] = false;
// }
//}
//int ques(int jl, int jr, int l, int r, int i)
//{
// if (jl <= l && r <= jr)
// {
// return sm1[i];
// }
// int mid = (l + r) >> 1;
// int ans = 0;
// down(i, mid - l + 1, r - mid);
// //array<int, 4>ans = { 0,-1e18,0,0 };
// if (jl <= mid)
// {
// ans+= ques(jl, jr, l, mid, i << 1);
//
// }
// if (mid + 1 <= jr)
// {
// ans+= ques(jl, jr, mid + 1, r, i << 1 | 1);
//
// }
// return ans;
//
//}
//array<int, 4> que(int jl, int jr, int l, int r, int i)
//{
// if (jl <= l && r <= jr)
// {
// return{ sm1[i],mx1[i],pre1[i],suf1[i] };
// }
// int mid = (l + r) >> 1;
// down(i, mid - l + 1, r - mid);
// //array<int, 4>ans = { 0,-1e18,0,0 };
// if (jr <= mid)
// {
// return que(jl, jr, l, mid, i << 1);
//
// }
// if ( mid + 1<=jl)
// {
// return que(jl, jr, mid + 1, r, i << 1 | 1);
//
// }
// array<int, 4>a = que(jl, jr, l, mid, i<<1);
// array<int, 4>b = que(jl, jr, mid + 1, r, i<<1|1);
// int z = 0, zz = 0;
// if (a[2] == mid - max(jl,l) + 1)z = a[2] + b[2];
// else z = a[2];
// if (b[3] == min(jr,r) - mid)zz = b[3] + a[3];
// else zz = b[3];
// return{ a[0] + b[0],max({a[1],b[1],a[3] + b[2]}),z,zz };
//
//}
//void _reverse(int jl, int jr, int l, int r, int i)
//{
// if (l >= jl && r <= jr)
// {
// rlazy(i, r - l + 1);
// }
// else
// {
// int mid = (l + r) >> 1;
// down(i, mid - l + 1, r - mid);
// if (jl <= mid)
// _reverse(jl, jr, l, mid, i << 1);
// if (jr >= mid + 1)
// _reverse(jl, jr, mid + 1, r, i << 1 | 1);
// up(i,l,r);
// }
//}void update(int jl, int jr, int jv, int l, int r, int i)
//{
// if (l >= jl && r <= jr)
// {
//
// ulazy(i, r - l + 1,jv);
// }
// else
// {
// int mid = (l + r) >> 1;
// down(i, mid - l + 1, r - mid);
// if (jl <= mid)
// update(jl, jr, jv, l, mid, i << 1);
// if (jr >= mid + 1)
// update(jl, jr, jv, mid + 1, r, i << 1 | 1);
// up(i,l,r);
// }
//}
//const int NN = 2049;
//int tree1[NN][NN];
//int tree2[NN][NN];
//int tree3[NN][NN];
//int tree4[NN][NN];
//int n, m;
////int lowbit(int i)
////{
//// return(i & -i);
////}
//void add1(int x, int y, int v)
//{
// int v1 = v;
// int v2 = v * x;
// int v3 = v * y;
// int v4 = x * y * v;
// for (int i = x; i <= n; i += (lowbit(i)))
// {
// for (int j = y; j <= m; j += lowbit(j))
// {
// tree1[i][j] += v1;
// tree2[i][j] += v2;
// tree3[i][j] += v3;
// tree4[i][j] += v4;
// }
// }
//}
//void add1(int a, int b, int c, int d,int v)
//{
// add1(a, b, v);
// add1(c+1, b, -v);
// add1(a, d+1, -v);
// add1(c+1, d+1, v);
//}
//int query1(int x, int y)
//{
// int ans = 0;
// for (int i = x; i > 0; i -= lowbit(i))
// {
// for (int j = y; j > 0; j -= lowbit(j))
// {
// ans += ((x+1)*(y+1)*tree1[i][j]);
// ans -= ((y+1)*tree2[i][j]);
// ans -= ((x+1)*tree3[i][j]);
// ans += tree4[i][j];
// }
// }
// return ans;
//}
//int query(int a, int b, int c, int d)
//{
// return query1(a-1, b-1) + query1(c, d) - query1(a - 1, d) - query1(c, b - 1);
//}
/* int tree1[114514];
int tree2[114514];
int n;
void add1(int* tree,int i, int v)
{
while (i <= n)
{
tree[i] += v;
i += (i & -i);
}
}
void add12(int l, int r, int v)
{
add1(tree1,l, v);
add1(tree1,r+1, -v);
add1(tree2,l, (l - 1) * v);
add1(tree2,r+1, -(r * v));
}
int query1(int * tree,int i)
{
int ans = 0;
while (i)
{
ans += tree[i];
i -= (i & -i);
}
return ans;
}
int query(int l,int r)
{
return r * query1(tree1, r) - query1(tree2, r) - (l - 1) * query1(tree1, l - 1) + query1(tree2, l - 1);
}*/
/* auto adj = [&]() {//set维护中位数板子
if (ma.size() >= mi.size() + 3)
{
auto a = ma.begin();
suma += *a;
sumb -= *a;
mi.insert(*a);
ma.erase(a);
}
if (ma.size() > mi.size())return;
auto a = --mi.end();
suma -= *a;
sumb += *a;
ma.insert(*a);
mi.erase(a);
};*/
// int wwr[1001];
//int find(int x)
//{
// if (x != wwr[x])
// {
// int w = find(wwr[x]);
// wwr[x] = w;
// return w;
// }
// else
// {
// return x;
// }
//}
//void wbwb(int a, int b)
//{
// int fa = find(a);
// int fb = find(b);
// if (fa != fb)
// {
// wwr[fa] = fb;
// // cnt[fb] += cnt[fa];
// }
//}
//int prime[1000010] = { 0 };//质数
//int minp[1000010] = { 0 };//最小质因子
//void olshai(int n)
//{
// int cnt = 0;
// for (int i = 2; i <= n; i++)
// {
// if (minp[i] == 0) { minp[i] = i; prime[++cnt] = i; }
// for (int j = 1; j <= cnt; j++) { if (prime[j] > minp[i] || prime[j] > n / i) break; minp[i * prime[j]] = prime[j]; }
// }
//
//}
/* auto dij = [&](int s, int d[], bool vis[]) {
priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> q;
for (int i = 0; i <= 1 * n; i++)
d[i] = 1e18, vis[i] = 0;
d[s] = 0;
q.push({ 0,s });
while (q.size()) {
auto t = q.top();
q.pop();
int u = t.second;
if (vis[u]) continue;
vis[u] = true;
for (auto ed : arr[u]) {
int v = ed.first, w = ed.second;
if (d[v] > d[u] + w) {
d[v] = d[u] + w;
q.push({ d[v],v });
}
}
}
};*/
/* int mergesort(vector<int>& nums, int l, int r)
{
long long ret = 0;
if (l >= r)
return 0;
int mid = (l + r) >> 1;
ret = (ret + mergesort(nums, l, mid)) % mod;
ret = (ret + mergesort(nums, mid + 1, r)) % mod;
int cur1 = l, cur2 = mid + 1, i = l;
while (cur1 <= mid && cur2 <= r)
{
if (nums[cur1] <= nums[cur2])
{
tem[i++] = nums[cur1++];
}
else {
ret = ((ret + mid) % mod - cur1 + 1) % mod;
tem[i++] = nums[cur2++];
}
}
while (cur1 <= mid)tem[i++] = nums[cur1++];
while (cur2 <= r)tem[i++] = nums[cur2++];
for (int i = l; i <= r; i++)
nums[i] = tem[i];
return ret % mod;
}*/
//int InversePairs(vector<int>& nums) {
// tem.resize(nums.size());
// return mergesort(nums, 0, nums.size() - 1) % mod;
//}
//多重背包模板
// int n, m;
//int a[101];
//int b[101];
//int c[101];
//int dp[40000 + 1];
//int que[50000 + 100000 + 1]; cin >> n >> m;
//for1
//{
// cin >> a[i] >> b[i] >> c[i];
//}
//
//for1
//{
//
//
//for (int md = 0; md <= min(m , b[i] - 1); md++)
//{
// int l = 0, r = 0;
//
// for (int j = m - md,k = 0; j >= 0 && k <= c[i]; j -= b[i],k++)
// {
// while (l < r && dp[que[r - 1]] <= dp[j] + a[i] * ((que[r - 1] - j) / b[i]))
// {
// r--;
// }
// que[r++] = j;
//
// }
// for (int j = m - md; j >= 0; j -= b[i])
// {
//
// dp[j] = dp[que[l]] + a[i] * ((j - que[l]) / b[i]);
// if (j == que[l])l++;
// int wwr = j - b[i] * (c[i] + 1);
// if (wwr >= 0)
// {
// while (l < r && dp[que[r - 1]] <= dp[wwr] + a[i] * ((que[r - 1] - wwr) / b[i]))
// r--;
// que[r++] = wwr;
// }
// }
//}
//
//}
//cout << dp[m] << endl;..
// vector :c.assign(beg, end) 将另外一个容器[x.begin(), x.end()) 里的内容拷贝到c中
//vector<int>::iterator it;
// 相当于声明了一个迭代器类型的变量it
//less<int> 表示数字大的优先级大,堆顶为最大的数字
//greater<int>表示数字小的优先级大,堆顶为最小的数字,优先队列比较要写结构体cmp
//mp.lower_bound() 返回一个迭代器,指向键值 >= key的第一个元素
//mp.upper_bound() 返回一个迭代器,指向键值 > key的第一个元素 for(auto [x, y] : mp)
//getline(cin, s)会获取前一个输入的换行符,需要在前面添加读取换行符的语句。如:getchar() 或 cin.get()
//tolower(s[i]) 转换为小写
//toupper(s[i]) 转换为大写
//transform(s.begin(), s.end(), s.begin(), ::tolower);//转换小写
//transform(s.begin(), s.end(), s.begin(), ::toupper);//转换大写 find返回-1是找不到
//bitset<n> a(s) a是string对象s中含有的位串的副本
//bitset<n> a(s, pos, n) a是s中从位置pos开始的n个位的副本 bitset可以进行位操作可以通过 [] 访问元素
//b.count() b中为1的个数
//fill(a.begin(), a.end(), x)填充
//tuple获取对应元素的值通过get<n>(tuple)方法获取, n必须为数字不能是变量
//tie可以让tuple变量中的三个值依次赋到tie中的三个变量中tie(one, two, three) = t;
//accumulate(beg, end, init)作用:对一个序列的元素求和init为对序列元素求和的初始值返回值类型:与init 相同
//atoi(const char*)将字符串转换为int类型int a = atoi(s.c_str());
//is_sorted(beg, end) 判断序列是否有序(升序),返回bool值
//iota(beg, end,初始值)让序列递增赋值如 把数组赋值为:0 1 2 3 4 5
//max_element+min_element找最大最小值
////找到a,b,c,d的最大值和最小值
//mx = max({ a, b, c, d });
//mn = min({ a, b, c, d });
//nth_element(beg, nth, end)复杂度: 平均O(N)O(N)寻找第序列第n小的值
//shuffle(b.begin(), b.end()); 随机打乱序列的顺序
//reverse(beg, end)对序列进行翻转
//stable_sort区别在于stable_sort()能够保证相等元素的相对位置,排序时不会改变相等元素的相对位置
//unique(beg, end)消除重复元素,返回消除完重复元素的下一个位置的地址
// 消除重复元素一般需要原序列是有序序列 unique 之后 a 数组为 { 1, 2, 3, 6, 3 }前面为无重复元素的数组,后面则是重复元素移到后面,返回a[4]
//int len = unique(b, b + n) - b;//消除 b 的重复元素,并获取长度
这程序好像有点Bug,我给组数据试试?
详细
Test #1:
score: 100
Accepted
time: 0ms
memory: 3736kb
input:
3 2 0 7 11 1145141 998244353
output:
1 2 872
result:
ok 3 lines
Test #2:
score: 0
Accepted
time: 0ms
memory: 3652kb
input:
47595 2 0 2 1 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...
output:
1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 39 39 40 40 41 41 42 42 43 43 44 44 45 45 46 46 47 47 48 48 49 49 50 50 51 51 52 52 53 53 ...
result:
ok 47595 lines
Test #3:
score: 0
Accepted
time: 10ms
memory: 3740kb
input:
100000 11 34 71 35 11 45 53 28 3 67 17 38 41 2 23 8 47 26 79 98 89 47 97 33 43 95 97 98 29 79 29 48 67 27 37 3 97 72 71 97 67 53 23 77 71 12 101 92 89 63 61 71 59 94 97 2 29 64 53 74 47 78 67 0 97 66 79 81 3 48 67 87 79 88 59 63 17 25 61 37 67 64 79 93 67 92 89 0 59 88 11 29 29 5 13 47 101 80 3 12 8...
output:
3 1 5 1 23 3 1 0 0 2 1 1 2 2 4 3 1 1 1 2 1 4 0 1 1 3 3 1 3 2 2 0 1 2 16 2 2 2 2 1 1 2 2 0 3 3 1 4 1 4 1 1 14 45 1 1 3 1 4 2 1 2 1 1 2 1 8 2 1 2 1 1 0 1 2 2 1 3 3 9 1 2 1 1 32 1 1 2 1 1 0 1 4 1 1 3 1 2 1 2 2 1 0 2 3 0 1 1 1 3 2 2 1 5 4 1 1 3 2 0 3 2 3 1 6 1 2 9 0 2 2 3 1 1 2 1 2 2 1 1 0 2 2 12 21 4 3...
result:
ok 100000 lines
Test #4:
score: 0
Accepted
time: 10ms
memory: 3804kb
input:
100000 29 83 47 14 29 56 2 29 17 35 67 31 3 24 97 39 17 5 59 16 53 51 29 51 67 72 53 14 79 54 11 35 83 56 89 11 5 70 67 42 89 65 7 40 41 45 79 13 7 26 5 51 5 49 47 46 19 2 89 74 47 27 71 37 37 39 83 86 7 86 71 15 29 94 19 17 101 56 23 3 59 95 97 73 11 15 29 66 23 23 23 51 53 95 11 95 61 0 97 14 73 5...
output:
4 0 3 15 2 1 8 1 1 1 1 3 2 1 1 3 1 1 15 1 1 6 2 0 4 10 10 1 0 1 0 1 2 2 13 1 4 1 1 0 3 1 2 3 2 2 3 9 0 1 1 2 4 0 1 1 2 1 11 2 1 2 3 1 1 1 3 3 1 1 2 1 1 1 1 1 5 8 1 4 9 0 3 1 14 2 1 2 2 1 6 3 1 5 1 1 3 1 2 10 1 2 4 2 1 1 1 1 1 1 4 3 1 5 1 1 2 1 1 1 2 1 6 2 1 0 7 0 1 2 2 4 2 1 1 2 3 1 3 1 1 1 3 1 6 3 ...
result:
ok 100000 lines
Test #5:
score: 0
Accepted
time: 11ms
memory: 3744kb
input:
100000 59 60 97 9 53 69 7 58 71 67 3 88 61 92 83 42 67 64 71 43 29 30 83 31 89 89 47 93 67 90 97 74 11 80 89 84 47 38 19 43 67 55 59 15 101 68 71 58 97 40 73 94 71 88 89 8 67 35 37 81 31 24 23 58 73 51 43 34 71 88 41 69 37 37 7 2 79 79 97 65 17 89 41 78 31 3 97 37 7 91 47 95 97 33 97 60 37 74 29 83 ...
output:
2 1 2 8 1 29 3 1 1 1 2 1 2 2 2 1 8 1 1 3 1 1 1 1 1 2 2 1 1 2 0 3 1 1 2 2 2 0 2 1 6 2 0 1 14 2 1 1 2 4 5 0 5 1 2 1 1 1 0 1 1 0 7 17 2 7 3 1 0 0 1 1 8 3 1 2 1 1 1 1 0 1 1 7 4 2 7 5 0 1 21 3 1 1 0 3 0 0 2 1 1 1 2 5 6 4 1 2 1 1 2 1 4 1 1 2 21 0 3 1 5 1 20 1 2 1 3 5 0 0 6 3 1 2 5 0 1 3 8 2 1 3 1 1 3 1 1 ...
result:
ok 100000 lines
Test #6:
score: 0
Accepted
time: 8ms
memory: 3864kb
input:
100000 1861 3528 2333 9090 2579 5653 8147 4315 1381 1926 1213 8598 7681 7742 5039 8270 7927 3661 2819 9458 7229 4213 683 8300 787 4660 7753 1678 7283 9943 6029 2737 5051 6439 9371 9827 1277 5268 2753 5913 5437 1537 2851 4021 1289 1807 6529 7605 7949 9316 8101 2770 6451 2437 2039 1348 1307 6586 9011 ...
output:
3 4 3 1 2 8 2 2 1 3 1 13 7 1 3 1 2 2 4 2 1 2 2 2 3 1 1 1 5 1 2 1 1 1 1 14 6 4 1 1 1 2 1 1 2 23 1 32 1 2 7 4 1 2 3 1 2 2 4 1 9 1 4 3 4 1 5 3 2 2 4 123 1 2 9 1 1 3 1 1 2 1 3 1 1 4 3 1 1 1 1 1 1 1 1 3 1 1 4 4 1 3 1 18 1 11 1 2 2 1 3 1 1 0 329 1 1 2 3 1 2 1 1 4 1 1 2 4 5 1 3 1 7 2 1 1 2 1 2 2 2 1 1 1 2 ...
result:
ok 100000 lines
Test #7:
score: 0
Accepted
time: 12ms
memory: 3652kb
input:
100000 2861 7238 2411 6690 1951 8793 7877 4503 7237 6677 8311 2550 9883 8304 233 2207 9397 6356 907 7980 7591 192 7643 9101 8963 3945 5683 436 6007 4005 3299 123 1103 5136 9719 9329 2099 1890 7793 6195 2203 8339 4057 9237 5521 3288 6733 7011 563 5121 2879 8277 9091 124 1913 229 307 7781 1801 7702 67...
output:
2 3 6 1 1 1 1 9 1 9 1 2 1 1 1 1 5 1 1 1 4 4 1 2 10 3 1 1 27 5 1 5 1 2 3 2 1 1 22 2 2 1 1 2 1 1 1 1 1 2 1 1 1 4 1 1 18 1 4 11 42 1 3 2 1 2 2 2 1 1 6 1 2 1 1 3 1 1 13 35 1 1 1 1 1 1 3 2 1 1 1 1 7 1 1 1 5 1 1 2 3 1 1 1 1 2 1 1 5 1 4 6 2 1 51 1 1 8 4 3 13 31 5 2 1 50 1 2 1 1 3 19 1 1 2 13 3 1 1 3 1 2 1 ...
result:
ok 100000 lines
Test #8:
score: 0
Accepted
time: 12ms
memory: 3864kb
input:
100000 7177 7208 2753 1599 2909 8176 6547 7781 2543 4318 7177 3366 127 1355 7283 479 6073 6686 3847 195 6761 3446 2099 2392 2609 4676 3637 3268 8849 7603 5179 7731 827 7446 3163 299 9461 8223 6581 8750 4373 9228 9187 8667 2963 6819 4057 7322 5059 9167 9041 3320 9151 8842 2153 6137 1993 6329 4517 606...
output:
2 1 3 2 2 1 12 1 2 1 1 2 2 1 1 2 9 1 1 2 3 1 2 3 2 1 1 3 4 2 2 1 2 1 2 16 1 5 1 1 40 1 1 1 1 30 1 3 2 1 3 3 2 2 4 10 2 9 1 2 1 1 2 1 3 1 1 1 6 2 1 1 2 4 3 1 1 2 1 1 2 2 1 1 2 2 3 1 1 1 1 6 1 2 3 1 6 1 1 2 1 1 1 1 5 2 1 2 2 5 1 3 1 2 2 1 3 47 7 4 1 1 2 1 3 1 1 3 2 2 7 18 1 1 1 1 1 2 5 3 2 1 1 1 1 3 1...
result:
ok 100000 lines
Test #9:
score: 0
Accepted
time: 16ms
memory: 3744kb
input:
100000 22957699 627925429 433183259 202804355 816810829 985631258 54563549 847625650 712837669 860468289 452708161 516705387 541041323 722654987 456499961 122097506 110566411 638241209 103870223 415782860 591063689 459421060 851704643 560244670 491675827 960606500 724808879 813870033 513057607 82205...
output:
27 1 2 15 2 2 2 1 6 5 1 1 3 2 3 4 1 4 1 1 1 1 14 2 1 4 1 1 1 1 1 1 1 1 1 2 2 1 3 1 31 1 1 11 10 1 2 1 1 1 1 1 1 1 2 3 1 1 1 3 2 2 1 3 7 3 1 5 4 2 1 1 2 3 2 1 1 6 2 3 2 1 3 4 2 1 2 3 1 1 2 1 20 1 1 10 9 12 1 1 1 1 1 2 1 1 1 3 2 98 2 1 1 3 1 1 2 7 2 1 1 1 6 1 2 1 1 4 2 1 1 2 1 6 1 1 3 3 2 3 2 1 2 1 1 ...
result:
ok 100000 lines
Test #10:
score: 0
Accepted
time: 16ms
memory: 3700kb
input:
100000 821384891 360483232 94753013 575184250 387876647 758829597 792132637 476022188 535607833 726268124 410858009 781602681 205636231 376470383 645933731 695016569 300304427 613786984 973582219 833018963 29026219 535160021 635806387 1063241 345979391 601446921 785258833 658427991 90922421 44784451...
output:
1 7 2 1 3 3 3 2 3 1 19 1 2 1 5 3 1 1 7 1 2 1 1 10 1 2 2 2 2 1 15 5 1 1 2 1 1 14 1 2 2 1 1 6 1 10 1 3 1 2 1 4 9 1 4 1 1 3 1 582 1 1 1 3 1 5 1 2 2 6 3 2 1 2 1 3 1 1 6 8 1 1 1 3 1 2 1 1 1 1 8 4 2 1 1 1 2 1 1 5 1 1 3 2 1 2 1 2 3 2 1 5 1 1 1 1 1 1 3 1 1 1 2 5 1 1 2 3 1 1 2 1 3 1 1 1 5 1 2 2 1 1 12 1 2 4 ...
result:
ok 100000 lines
Test #11:
score: 0
Accepted
time: 16ms
memory: 3632kb
input:
100000 461078399 442550442 375521033 166102087 604976747 331845816 889534567 570960171 535876871 139282340 31131031 344924738 847344217 802184255 28753481 655216151 866254967 928501728 688120403 888670298 877525879 756867078 356855867 761054248 447231371 477259710 294217477 234719004 964538831 66564...
output:
1 1 1 1 1 11 1 24 2 2 1 3 2 1 1 1 3 7 1 2 1 1 1 1 1 2 3 8 1 1 1 2 2 2 1 1 1 2 4 1 1 1 2 3 9 1 1 1 3 1 5 1 2 4 2 4 1 2 2 2 1 5 1 3 2 4 3 1 1 4 1 1 7 1 1 1 2 1 1 1 1 8 1 3 1 1 2 2 1 3 1 2 1 1 85 1 1 1 2 6 9 3 1 1 2 1 1 1 2 2 4 3 2 2 10 1 1 1 1 3 1 16 12 12 1 2 1 1 6 2 2 6 3 1 1 1 1 2 2 2 1 1 2 1 1 1 2...
result:
ok 100000 lines
Test #12:
score: 0
Accepted
time: 19ms
memory: 3744kb
input:
100000 854620121447 305351081320 465821420627 871311229833 798238974037 704593959229 82347058499 514594072052 78827529281 752873405762 666400710491 526552474252 437289823799 509968252445 301446931481 962983709877 33747912293 818002585949 538211581429 511798563550 750166805383 54533573983 17865394271...
output:
1 3 1 7 10 1 2 4 25 1 1 1 2 2 1 1 1 17 3 2 2 5 3 3 1 5 1 1 7 3 7 3 1 2 1 4 3 2 1 19 3 3 2 1 2 6 7 2 1 2 1 1 1 1 1 1 1 3 2 1 5 1 1 2 2 2 18 1 1 5 1 8 4 1 7 1 2 1 2 17 1 9 2 1 3 2 1 1 4 2 1 2 2 1 3 1 1 1 1 4 1 2 1 10 1 2 1 2 1 4 2 5 1 2 1 1 1 2 1 1 4 27 2 1 2 1 1 27 2 5 2 1 40 1 7 2 1 3 3 3 2 3 1 1 1 ...
result:
ok 100000 lines
Test #13:
score: 0
Accepted
time: 18ms
memory: 3700kb
input:
100000 653643377183 209815203180 360818541247 201512061317 10499747803 884463867404 393797197091 234742176386 703806710617 249134196381 907111880249 117784843971 7251683917 175985067098 942415308949 620757896798 100232848427 681361142924 910954687609 667339222842 458654023019 976379522216 7578431335...
output:
1 1 85 1 1 1 24 1 7 1 3 2 1 3 2 1 1 1 1 3 3 2 2 1 1 2 2 20 2 1 1 2 1 8 2 1 5 1 6 2 5 1 1 1 1 3 2 2 1 2 1 3 2 11 9 1 1 1 5 3 2 2 8 9 1 4 1 1 1 1 2 3 28 1 1 1 1 1 1 3 2 1 1 1 2 1 6 1 1 7 6 3 2 2 1 1 3 1 1 4 2 2 1 1 2 7 1 1 2 1 3 2 2 2 2 1 2 1 1 23 2 2 2 2 1 1 15 1 1 1 1 3 2 1 11 1 1 2 1 5 3 3 1 2 7 2 ...
result:
ok 100000 lines
Test #14:
score: 0
Accepted
time: 18ms
memory: 3652kb
input:
100000 160125432991 475051983094 819602886679 897389271502 678683084113 569622411514 693327957977 644715715338 934013525429 656254498442 882423180421 325527047003 372238916617 592630991201 103117005307 188247573815 365204005631 992392281776 200101992971 774412000171 535601515147 197520852483 5536176...
output:
3 2 1 1 1 1 2 3 3 5 1 2 1 1 1 1 1 8 1 1 1 2 1 1 2 1 5 2 1 1 3 1 2 7 1 9 1 3 3 2 2 12 2 1 1 4 2 1 1 1 1 1 1 15 3 1 2 12 1 1 1 1 10 2 2 2 1 2 1 2 1 1 1 2 2 2 1 2 2 1 1 4 3 1 1 1 3 2 1 1 1 1 3 1 2 2 2 1 7 4 1 1 11 1 1 1 2 2 1 2 1 1 1 1 6 4 2 1 1 3 1 1 1 27 2 1 3 1 2 3 5 1 1 1 4 1 15 3 1 17 1 1 1 2 1 1 ...
result:
ok 100000 lines
Test #15:
score: 0
Accepted
time: 20ms
memory: 3704kb
input:
100000 359573421097243 33190899500761 429648865238321 111363421683870 423566282667481 76657156109745 944266025027653 53041192687688 5998863263257 461695895601001 971991064370477 903661079717039 342748954516301 175753203478899 969093155697031 62220628919394 249136757321579 631609060170143 43919020024...
output:
1 1 1 1 78 1 1 1 3 1 1 2 1 1 1 1 1 3 78 2 59 1 1 1 1 1 2 8 1 1 1 1 8 2 4 1 2 1 1 1 1 1 5 13 4 2 2 9 1 1 1 1 1 1 2 1 1 3 4 2 2 2 1 1 1 2 3 26 1 40 1 1 7 1 6 2 1 6 2 1 8 1 2 1 27 1 2 2 1 2 1 1 2 2 1 3 1 1 1 1 3 1 1 3 6 4 1 3 1 2 6 7 4 1 1 2 1 1 1 3 1 2 2 1 3 1 9 8 4 1 4 6 1 3 1 5 9 1 3 1 2 32 1 1 2 1 ...
result:
ok 100000 lines
Test #16:
score: 0
Accepted
time: 21ms
memory: 3656kb
input:
100000 612187772343991 307898682692355 491563915829227 81876689946461 903496097449081 724223585724217 76596192680681 445610736133832 925209166638019 109668900359025 814982598334559 890952377847942 420890856837109 909991705384765 837583370312123 640461094892448 128215851458909 989991000111952 2749157...
output:
1 1 1 6 1 2 2 1 8 3 1 1 1 2 1 2 1 2 2 3 1 1 2 1 1 1 1 3 1 1 3 3 37 1 5 1 1 2 3 2 1 2 4 1 1 1 6 1 1 1 2 3 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 4 2 1 2 1 2 4 3 4 3 4 2 1 1 1 1 2 2 1 2 4 3 2 8 15 5 4 3 1 9 2 11 1 1 4 1 1 23 2 1 1 1 3 2 1 2 3 11 1 2 2 3 1 3 2 3 1 3 3 1 1 1 1 1 1 1 1 2 2 1 3 1 1 3 10 ...
result:
ok 100000 lines
Test #17:
score: 0
Accepted
time: 20ms
memory: 3788kb
input:
100000 527124440985647 595225963083624 878596655176477 267226061229273 511171190874121 539928663112537 708545136837443 572815828041949 508401279002521 728325253245656 958545656352461 208380424460329 630023561631221 900531251759032 856499920764841 620217829008445 664762951245641 992776043426244 88970...
output:
2 1 2 1 3 1 2 1 2 2 1 1 6 5 3 2 7 3 2 12 1 11 17 2 1 4 3 1 1 2 1 1 2 1 2 1 2 2 11 11 5 1 1 1 1 3 1 5 2 2 1 1 1 1 3 8 3 1 1 1 1 1 1 1 1 3 9 1 2 1 24 1 2 3 1 2 3 1 5 1 5 3 2 1 2 1 1 5 2 1 1 2 1 1 2 1 1 2 1 1 1 21 103 1 7 1 3 4 1 2 1 6 2 5 1 8 2 1 1 1 5 1 2 1 2 2 10 2 2 6 1 3 2 2 2 4 1 12 1 8 3 1 4 2 1...
result:
ok 100000 lines
Test #18:
score: 0
Accepted
time: 23ms
memory: 3652kb
input:
100000 137194177351851223 9263960501321274 603695491118374607 404857914356622914 905092930616434199 438619277423348461 225047845117473823 419275192757332987 46077386124583379 58196483892837680 932311941721013233 86830145501282437 428893034875113157 259980893024457722 422564472614618221 4922670871717...
output:
1 1 1 3 2 1 1 2 2 1 1 1 41 1 3 1 1 2 1 2 1 4 8 1 1 5 1 1 1 1 1 2 2 6 1 1 1 2 4 8 3 1 2 1 1 3 1 3 2 1 1 1 2 1 2 1 12 4 4 4 7 1 1 1 1 2 1 2 3 1 5 2 1 1 1 15 2 1 10 1 1 2 1 11 1 2 2 1 1 1 1 4 3 4 1 1 1 4 1 1 2 1 1 10 1 1 2 1 1 2 1 2 3 3 6 1 1 2 1 1 2 1 1 2 2 9 2 1 1 2 2 1 2 3 3 1 1 8 2 1 3 1 6 1 2 1 1 ...
result:
ok 100000 lines
Test #19:
score: 0
Accepted
time: 24ms
memory: 3712kb
input:
100000 372459024313481957 706690631540644317 672619818396391 605929237970266041 734983024134395923 404465032880967062 123776024960508211 704655167670475038 694637366930170487 911014424969381821 257826433671775237 32194576516953788 570154615804186159 25699638879637358 86963512790531387 93830733506415...
output:
2 901 1 6 2 1 1 2 1 1 5 1 1 1 1 1 2 2 1 2 1 1 3 3 1 1 3 1 1 18 1 1 5 2 2 1 17 1 1 5 1 2 11 2 5 2 2 1 2 3 10 2 4 1 1 1 1 3 1 2 5 7 4 1 2 1 5 1 6 1 2 3 1 1 1 3 1 2 3 3 4 1 1 1 1 1 4 5 8 3 2 2 3 1 2 7 1 2 2 2 2 2 1 1 2 1 2 13 1 26 1 1 1 1 44 5 4 2 1 4 1 1 2 4 1 1 1 1 1 1 1 1 1 3 1 7 1 2 3 2 2 9 1 5 1 1...
result:
ok 100000 lines
Test #20:
score: 0
Accepted
time: 23ms
memory: 3700kb
input:
100000 966374481426333653 927674754000046276 547619405950404283 459594617974285439 73136580880950767 785269891461922620 297236243166644039 754400221344316960 281874052063114529 682203169755139173 211070435933793739 534953075257260374 186603053201695927 585053341246251851 19587519457672171 4373347880...
output:
1 1 11 3 4 3 4 24 2 6 2 2 2 1 1 7 1 1 3 1 1 2 2 1 3 3 3 2 10 2 3 3 1 4 1 3 2 1 1 1 2 2 3 4 1 2 2 3 1 1 1 3 1 2 7 2 2 1 5 1 1 2 1 2 2 3 1 6 2 2 1 16 2 1 2 4 1 3 2 1 5 5 2 1 1 1 1 3 2 10 1 1 1 5 2 4 1 26 1 1 2 5 6 4 1 4 1 1 1 1 3 1 2 1 1 3 1 2 4 1 1 2 3 1 1 1 1 2 2 2 2 2 1 1 2 1 1 3 1 4 1 1 3 1 1 2 4 ...
result:
ok 100000 lines
Extra Test:
score: 0
Extra Test Passed