Advertisement
TAImatem

Аврора Интенсив день5

Nov 25th, 2022
909
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.93 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #define _USE_MATH_DEFINES
  3. #include "stdio.h"
  4. #include "stdlib.h"
  5. #include "time.h"
  6. #include <cmath>
  7. #include <math.h>
  8. #include <algorithm>
  9. #include <map>
  10. #include <vector>
  11. #include <utility>
  12. #include <set>
  13. #include <string>
  14. #include <cstring>
  15. #include <iostream>
  16. #include <fstream>
  17. #include <unordered_map>
  18. #include <unordered_set>
  19. #include <queue>
  20. #include <bitset>
  21. #include <cassert>
  22. #include <functional>
  23. //#include <intrin.h>
  24. #include <stack>
  25. #include <thread>
  26. using namespace std;
  27. //typedef long long ll;
  28. #define ll long long
  29. #define ld long double
  30.  
  31. const long long mod = 1000000007;
  32.  
  33. #define MIN(x,y) ((x)<(y)?(x):(y))
  34. #define MAX(x,y) ((x)>(y)?(x):(y))
  35. #define PI 3.14159265358979323846
  36. #define ABS(a) ((a)<0?-(a):(a))
  37. template <typename T> inline T gcd(T a, T b) {
  38.     while (b) { a %= b; swap(a, b); }
  39.     return a;
  40. }
  41. long long fastpow(long long a, long long n)
  42. {
  43.     auto mult = a;
  44.     long long res = 1;
  45.     while (n)
  46.     {
  47.         if (n & 1)
  48.             res *= mult;
  49.         mult *= mult;
  50.         n >>= 1;
  51.     }
  52.     return res;
  53. }
  54.  
  55. long long GetTortHareRes(long long mod, long long mult, long long x)
  56. {
  57.     long long tortoise = 1, hare = 1, tail = 1, loop = 1;
  58.     tortoise = (tortoise * mult) % mod;
  59.     hare = (hare * mult) % mod;
  60.     hare = (hare * mult) % mod;
  61.     while (hare != tortoise)
  62.     {
  63.         tortoise = (tortoise * mult) % mod;
  64.         hare = (hare * mult) % mod;
  65.         hare = (hare * mult) % mod;
  66.         tail++;
  67.     }
  68.     tortoise = (tortoise * mult) % mod;
  69.     while (hare != tortoise)
  70.     {
  71.         tortoise = (tortoise * mult) % mod;
  72.         loop++;
  73.     }
  74.     x = x < tail ? x : tail + (x - tail) % loop;
  75.     long long ans = 1;
  76.     for (long long i = 0; i < x; i++)
  77.         ans = (ans * mult) % mod;
  78.     return ans;
  79. }
  80.  
  81. long long CountLimitedPairs(long long maxdif, vector<long long>& sorted)
  82. {
  83.     long long ans = 0;
  84.     int l = 0, r = 0;
  85.     while (r < sorted.size())
  86.     {
  87.         while (sorted[r] - sorted[l] <= maxdif)
  88.         {
  89.             ans += r - l;
  90.             r++;
  91.         }
  92.         l++;
  93.     }
  94.     return ans;
  95. }
  96.  
  97. void GetDivs(long long a, vector<long long>& divs)
  98. {
  99.     divs.clear();
  100.     for (long long i = 2; i * i <= a; i++)
  101.     {
  102.         while (a % i == 0)
  103.         {
  104.             a /= i;
  105.             divs.push_back(i);
  106.         }
  107.     }
  108.     if (a != 1)
  109.     {
  110.         divs.push_back(a);
  111.     }
  112. }
  113.  
  114. void Eratosfen(int n, vector<bool>& res)
  115. {
  116.     res.clear();
  117.     res.resize(n, 1);
  118.     for (int i = 2; i * i <= n; i++)
  119.     {
  120.         if (res[i - 1])
  121.         {
  122.             for (int j = i * i; j <= n; j += i)
  123.             {
  124.                 res[j] = 0;
  125.             }
  126.         }
  127.     }
  128. }
  129.  
  130. long long fPow(long long a, long long b, long long mod)
  131. {
  132.     long long ans = 1;
  133.     long long mn = a;
  134.     while (b)
  135.     {
  136.         if (b & 1)
  137.         {
  138.             ans *= mn;
  139.             ans %= mod;
  140.         }
  141.         mn *= mn;
  142.         mn %= mod;
  143.         b >>= 1;
  144.     }
  145.     return ans;
  146. }
  147.  
  148. long long gcd(long long a, long long b)
  149. {
  150.     return b ? gcd(b, a % b) : a;
  151. }
  152.  
  153. long long gcd(long long a, long long b)
  154. {
  155.     while (b)
  156.     {
  157.         a = a % b;
  158.         swap(a, b);
  159.     }
  160.     return a;
  161. }
  162.  
  163. int main() {
  164. #ifdef DEBUG
  165.     freopen("input.txt", "r", stdin);
  166.     //freopen("output.txt", "w", stdout);
  167. #endif
  168.     return 0;
  169. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement