Submission #64545702


Source Code Expand

Copy
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#define int long long
#define fn for (int i = 0; i < n; i++)
#define fm for (int i = 0; i < m; i++)
#define all(v) v.begin(), v.end()
const int MOD = 1e9 + 7;
#define sort(a) sort(a.begin(), a.end())
#define vi vector<int> v
#define vvi vector<vector<int>>
#define vpi vector<pair<int, int>>
#define p(ans) cout << ans << endl;
#define yes cout << 'Y' << 'e' << 's' << endl;
#define no cout << 'N' << 'o' << endl;
#define inp(v) \
int x; \
cin >> x; \
v.push_back(x)
using namespace std;
using namespace __gnu_pbds;
 
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#define int long long
#define fn for (int i = 0; i < n; i++)
#define fm for (int i = 0; i < m; i++)
#define all(v) v.begin(), v.end()
const int MOD = 1e9 + 7;
#define sort(a) sort(a.begin(), a.end())
#define vi vector<int> v
#define vvi vector<vector<int>>
#define vpi vector<pair<int, int>>
#define p(ans) cout << ans << endl;
#define yes cout << 'Y' << 'e' << 's' << endl;
#define no cout << 'N' << 'o' << endl;
#define inp(v) \
    int x;     \
    cin >> x;  \
    v.push_back(x)
using namespace std;
using namespace __gnu_pbds;
typedef tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update> pbds; // find_by_order, order_of_key  less-> increasing order  greater->dreasing order
//  *A.find_order_of(index)-> give element at that index
// A.order_of_key(x)->gives no of ele less than x (unique ele present) in case of inc set  A.lower_bound(ele)->gives iterator of lb
class dsu
{
public:
    vector<int> rank, parent, size;
    dsu(int n)
    {
        rank.resize(n + 1, 0);
        parent.resize(n + 1);
        size.resize(n + 1, 1);
        for (int i = 0; i <= n; i++)
            parent[i] = i;
    }
    int find(int node)
    {
        if (node == parent[node])
            return node;
        return parent[node] = find(parent[node]);
    }
    void unionbysize(int u, int v)
    {
        int p1 = find(u);
        int p2 = find(v);
        if (p1 == p2)
            return;
        if (size[p1] < size[p2])
        {
            parent[p1] = p2;
            size[p2] += size[p1];
        }
        else
        {
            parent[p2] = p1;
            size[p1] += size[p2];
        }
    }
    void unionbyrank(int u, int v)
    {
        int p1 = find(u);
        int p2 = find(v);
        if (p1 == p2)
            return;
        if (rank[p1] < rank[p2])
        {
            parent[p1] = p2;
        }
        else if (rank[p1] > rank[p2])
            parent[p2] = p1;
        else
        {
            parent[p1] = p2;
            rank[p2]++;
        }
    }
};
class sgtree
{
public:
    vector<int> segment;
    sgtree(int n) { segment.resize(4 * n); }
    void build(int ind, int s, int e, vector<int> &arr)
    {
        if (s == e)
        {
            segment[ind] = arr[e];
            return;
        }
        int mid = (s + e) / 2;
        build(2 * ind + 1, s, mid, arr);
        build(2 * ind + 2, mid + 1, e, arr);
        segment[ind] = min(segment[2 * ind + 1], segment[2 * ind + 2]);
    }
    int qry(int ind, int s, int e, int l, int r)
    {
        if (r < s || l > e)
            return LLONG_MAX;
        if (l <= s && r >= e)
            return segment[ind];
        int mid = (s + e) / 2;
        return min(qry(2 * ind + 1, s, mid, l, r), qry(2 * ind + 2, mid + 1, e, l, r));
    }
    void update(int ind, int s, int e, int i, int val)
    {
        if (s == e)
        {
            segment[ind] = val;
            return;
        }
        int mid = (s + e) / 2;
        if (i <= mid)
            update(2 * ind + 1, s, mid, i, val);
        else
            update(2 * ind + 2, mid + 1, e, i, val);
        segment[ind] = min(segment[2 * ind + 1], segment[2 * ind + 2]);
    }
};
bool p_check(int n)
{
    for (int i = 2; i * i <= n; i++)
    {
        if (n % i == 0)
        {
            return false;
        }
    }
    return true;
}
int modExp(int base, int exp, int mod)
{
    int result = 1;
    base = base % mod;
    while (exp > 0)
    {
        if (exp % 2 == 1)
        {
            result = (result * base) % mod;
        }
        base = (base * base) % mod;
        exp /= 2;
    }
    return result;
}
int modInverse(int Q, int mod) { return modExp(Q, mod - 2, mod); }
int power(int a, int b)
{
    if (b == 0)
        return 1;
    else if (b == 1)
        return a;
    int ans = power(a, b / 2);
    if (b % 2 == 0)
        return ans * ans;
    else
        return ans * ans * a;
}
int gcd(int a, int b)
{
    if (a % b == 0)
        return b;
    return gcd(b, a % b);
}
int lcm(int a, int b)
{
    int ans = (a * b) / (gcd(a, b));
    return ans;
}
int quary(string &s)
{
    cout << '?' << s << endl;
    cout.flush();
    int t;
    cin >> t;
    return t;
}
int countPrimesApprox(long long n)
{
    if (n < 2)
        return 0;
    return static_cast<int>(n / log2l(n));
}
int32_t main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int n;
    cin >> n;

    int a = 1;
    int ct = 0;
    while (power(2, a) <= n)
    {
        int num1 = power(2, a);
        int rem = n / num1;
        int xx = sqrtl(rem);
        ct += xx - xx / 2;
        a++;
    }

    cout << ct << endl;
}

Submission Info

Submission Time
Task C - 2^a b^2
User rishabh_638413
Language C++ 20 (gcc 12.2)
Score 350
Code Size 4923 Byte
Status AC
Exec Time 1 ms
Memory 3612 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 350 / 350
Status
AC × 3
AC × 29
Set Name Test Cases
Sample example_00.txt, example_01.txt, example_02.txt
All example_00.txt, example_01.txt, example_02.txt, hand_00.txt, hand_01.txt, hand_02.txt, hand_03.txt, hand_04.txt, hand_05.txt, hand_06.txt, hand_07.txt, hand_08.txt, hand_09.txt, hand_10.txt, random_00.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt
Case Name Status Exec Time Memory
example_00.txt AC 1 ms 3424 KB
example_01.txt AC 1 ms 3452 KB
example_02.txt AC 1 ms 3456 KB
hand_00.txt AC 1 ms 3520 KB
hand_01.txt AC 1 ms 3512 KB
hand_02.txt AC 1 ms 3448 KB
hand_03.txt AC 1 ms 3452 KB
hand_04.txt AC 1 ms 3400 KB
hand_05.txt AC 1 ms 3476 KB
hand_06.txt AC 1 ms 3488 KB
hand_07.txt AC 1 ms 3392 KB
hand_08.txt AC 1 ms 3444 KB
hand_09.txt AC 1 ms 3452 KB
hand_10.txt AC 1 ms 3456 KB
random_00.txt AC 1 ms 3584 KB
random_01.txt AC 1 ms 3460 KB
random_02.txt AC 1 ms 3524 KB
random_03.txt AC 1 ms 3612 KB
random_04.txt AC 1 ms 3464 KB
random_05.txt AC 1 ms 3448 KB
random_06.txt AC 1 ms 3468 KB
random_07.txt AC 1 ms 3392 KB
random_08.txt AC 1 ms 3388 KB
random_09.txt AC 1 ms 3456 KB
random_10.txt AC 1 ms 3488 KB
random_11.txt AC 1 ms 3488 KB
random_12.txt AC 1 ms 3488 KB
random_13.txt AC 1 ms 3484 KB
random_14.txt AC 1 ms 3612 KB


2025-04-11 (Fri)
18:12:32 +00:00