1899D - Yarik and Musical Notes - CodeForces Solution


math number theory

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp> // Common file
#include <ext/pb_ds/tree_policy.hpp>
#include <functional> // for less
#include <iostream>

#define popCnt(x) (__builtin_popcountll(x)) //calc num of 1's in binary
using namespace std;
using namespace __gnu_pbds;
typedef tree<int, null_type, less<int>, rb_tree_tag,
        tree_order_statistics_node_update>
        ordered_set;
#define fast ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0)
#define ll long long
#define ii pair<int,int>
const int INF = 1e9 + 5, N = 1000005, mod = 1e9 + 7;

int add(int a, int b) {
    a = (0LL + a + mod) % mod;
    b = (0LL + b + mod) % mod;
    return (a + b) % mod;
}

int mul(int a, int b) {
    a %= mod;
    b %= mod;
    return (1LL * a * b) % mod;
}

int fac[N];

void pre() {
    fac[0] = 1;
    for (int i = 1; i < N; i++)
        fac[i] = mul(fac[i - 1], i);

}

int fastPow(int base, int power) {
    if (base == 1 or power == 0)
        return 1;
    int halfPower = fastPow(base, power / 2);
    int ans = mul(halfPower, halfPower);
    if (power % 2 == 1)
        ans = mul(ans, base);
    return ans;
}

int modInverse(int x) {
    return fastPow(x, mod - 2);
}

int nPr(int n, int r) {
    return mul(fac[n], modInverse(fac[n - r]));
}

int nCr(int n, int r) {
    return mul(fac[n], modInverse(mul(fac[n - r],
                                      fac[r])));
}

#define int ll

void setIO(string s) {
    freopen((s + ".in").c_str(), "r", stdin);
    //freopen((s + ".out").c_str(), "w", stdout);
}

int32_t main() {
    fast;
    int t;
    cin >> t;
    while (t--) {
        int n, x;
        cin >> n;
        int e = 0, ans = 0;
        map<int, int> mp;
        for (int i = 0; i < n; i++) {
            cin >> x;
            if (x % 2 == 0)e++;
            ans += mp[x];
            mp[x]++;
        }
        ans += mp[1] * mp[2];
        cout << ans << "\n";
    }

    return 0;
}


Comments

Submit
0 Comments
More Questions

1302. Deepest Leaves Sum
1209. Remove All Adjacent Duplicates in String II
994. Rotting Oranges
983. Minimum Cost For Tickets
973. K Closest Points to Origin
969. Pancake Sorting
967. Numbers With Same Consecutive Differences
957. Prison Cells After N Days
946. Validate Stack Sequences
921. Minimum Add to Make Parentheses Valid
881. Boats to Save People
497. Random Point in Non-overlapping Rectangles
528. Random Pick with Weight
470. Implement Rand10() Using Rand7()
866. Prime Palindrome
1516A - Tit for Tat
622. Design Circular Queue
814. Binary Tree Pruning
791. Custom Sort String
787. Cheapest Flights Within K Stops
779. K-th Symbol in Grammar
701. Insert into a Binary Search Tree
429. N-ary Tree Level Order Traversal
739. Daily Temperatures
647. Palindromic Substrings
583. Delete Operation for Two Strings
518. Coin Change 2
516. Longest Palindromic Subsequence
468. Validate IP Address
450. Delete Node in a BST