Advertisement
LEGEND2004

CF #5 sol

Aug 10th, 2024
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.01 KB | None | 0 0
  1. #pragma GCC optimize("O3")
  2. #include <bits/stdc++.h>
  3. using namespace std;
  4.  
  5. #define int long long
  6. #define double long double
  7. #define _FastIO ios_base::sync_with_stdio(0); cin.tie(0)
  8. #define F first
  9. #define S second
  10. const int mod = 1e9 + 7;
  11.  
  12. signed main()
  13. {
  14.     _FastIO;
  15.     /*
  16.     // A
  17.     int n , x;
  18.     cin >> n;
  19.     vector<pair<int , int> > v; // {value , index}
  20.     for(int i = 1; i <= n; i++){
  21.         cin >> x;
  22.         v.push_back({x , i});
  23.     }
  24.     sort(v.begin() , v.end());
  25.     */
  26.     /*
  27.     4
  28.     8 2 5 1
  29.  
  30.     {1 , 4} 0
  31.     {2 , 2} 1
  32.     {5 , 3} 2
  33.     {8 , 1} 3
  34.  
  35.     */
  36.     // 0    n-1
  37.     // second best n-2
  38.     //cout << v[n - 2].second << '\n';
  39.  
  40.     // 0 <= i < j < n
  41.     /*
  42.     // B
  43.     int n;
  44.     cin >> n;
  45.     int a[n + 5];
  46.     for(int i = 0; i < n; i++){
  47.         cin >> a[i];
  48.     }
  49.     int sum = 0;
  50.     for(int i = 0; i < n; i++){
  51.         for(int j = i + 1; j < n; j++){
  52.             sum += a[i] * a[j];
  53.             sum %= mod;
  54.         }
  55.     }
  56.  
  57.     cout << sum % mod << '\n';
  58.     */
  59.  
  60.     // 1 2 3 4 5
  61.     // (a + b) % mod = (a % mod + b % mod) % mod
  62.     // (a * b) % mod = ((a % mod) * (b % mod)) % mod
  63.     // (a - b) % mod = ((a % mod) - (b % mod)) % mod
  64.  
  65.     // (9 - 7) % 3 = 0 - 1 = -1 + mod = 2
  66.     /*
  67.     // G
  68.     int n;
  69.     cin >> n;
  70.     int a[n + 5];
  71.     for(int i = 0; i < n; i++){
  72.         cin >> a[i];
  73.     }
  74.  
  75.     int s = a[0] , ans = 0;
  76.     for(int i = 1; i < n; i++){
  77.         ans += s * a[i];
  78.         ans %= mod;
  79.         s += a[i];
  80.         s %= mod;
  81.     }
  82.     cout << ans << '\n';*/
  83.     /*
  84.     // C
  85.     string s;
  86.     cin >> s;
  87.     string ans = "NO";
  88.     for(int i = 0; i < 5; i++){
  89.         string a;
  90.         cin >> a;
  91.         if(a[0] == s[0] || a[1] == s[1])
  92.             ans = "YES";
  93.     }
  94.     cout << ans << '\n';
  95.     */
  96.  
  97.     // QAQAQYSYIOIWIN
  98.  
  99.     // 1 2 3 4 5   substring   subsequence
  100.     // 1 2              +           +
  101.     // 1 3              -           +
  102.     // 2 4 5            -           +
  103.     //  1               +           +
  104.     //  1 2 3 4 5       +           +
  105.     //  6               -           -
  106.     // 4 2              -           -
  107.  
  108.  
  109.     // i < j < k
  110.     // Q   A   Q
  111.     /*
  112.     string s;
  113.     cin >> s;
  114.     int n = s.size();
  115.     int cnt = 0;
  116.     // QAQ
  117.     // QQQAQQ
  118.     int q = 0 , qa = 0 , qaq = 0;
  119.     for(char i : s){
  120.         if(i == 'Q'){
  121.             q++;
  122.             qaq += qa;
  123.         }
  124.  
  125.         if(i == 'A')
  126.             qa += q;
  127.     }
  128.     cout << qaq << '\n';
  129.     */
  130.     /*
  131.     // E
  132.     int t;
  133.     cin >> t;
  134.     while(t--){
  135.         string s;
  136.         cin >> s;
  137.         for(char i = 'a'; i <= 'h'; i++){
  138.             if(i == s[0])
  139.                 continue;
  140.             cout << i << s[1] << '\n';
  141.         }
  142.         for(int i = 1; i <= 8; i++){
  143.             if(i == s[1] - '0')
  144.                 continue;
  145.             cout << s[0] << i << '\n';
  146.         }
  147.     }
  148.     */
  149.     /*
  150.     // F
  151.     int t;
  152.     cin >> t;
  153.     char a[10][10];
  154.     while(t--){
  155.         for(int i = 1; i <= 8; i++){
  156.             for(int j = 1; j <= 8; j++){
  157.                 cin>> a[i][j];
  158.             }
  159.         }
  160.  
  161.         for(int i = 2; i <= 7; i++){
  162.             for(int j = 2; j <= 7; j++){
  163.                 if(a[i][j] == '#' && a[i - 1][j - 1] == '#' && a[i - 1][j + 1] == '#')
  164.                     cout << i << " " << j << '\n';
  165.             }
  166.         }
  167.     }
  168.     */
  169.     /*
  170.     // H
  171.     int t , n;
  172.     cin >> t;
  173.     while(t--){
  174.         cin >> n;
  175.         cout << n / 10 + n % 10 << '\n';
  176.     }
  177.     */
  178.     /*
  179.     a b
  180.     c d
  181.  
  182.     a-c  b-d
  183.     b-d  a-c
  184.     a-d  b-c
  185.     b-c  a-d
  186.     */
  187.     /*
  188.     // I
  189.     int t , a , b , c , d;
  190.     cin >> t;
  191.     while(t--){
  192.         cin >> a >> b >> c >> d;
  193.         int ans = 0;
  194.         if(a >= c && b >= d && (a > c || b > d))
  195.             ans += 2;
  196.  
  197.         if(b >= c && a >= d && (b > c || a > d))
  198.             ans += 2;
  199.  
  200.         cout << ans << '\n';
  201.     }
  202.     */
  203.     /*
  204.     // J
  205.     int t , n , s , m;
  206.     cin >> t;
  207.     while(t--){
  208.         cin >> n >> s >> m;
  209.         int pre = 0;
  210.         string ans = "NO";
  211.         while(n--){
  212.             int l , r;
  213.             cin >> l >> r;
  214.             if(l - pre >= s)
  215.                 ans = "YES";
  216.             pre = r;
  217.         }
  218.         if(m - pre >= s)
  219.             ans = "YES";
  220.         cout << ans << '\n';
  221.     }
  222.     */
  223.     /*
  224.     // K
  225.     int t;
  226.     cin >> t;
  227.     while(t--){
  228.         string a , b;
  229.         cin >> a >> b;
  230.         int n = a.size() , m = b.size();
  231.         int j = 0;
  232.         for(int i = 0; i < n; i++){
  233.             if(j == m){
  234.                 if(a[i] == '?')
  235.                     a[i] = 'a';
  236.                 continue;
  237.             }
  238.             if(a[i] == b[j]){
  239.                 j++;
  240.                 continue;
  241.             }
  242.             if(a[i] == '?'){
  243.                 a[i] = b[j];
  244.                 j++;
  245.             }
  246.         }
  247.         if(j == m){
  248.             cout << "YES" << '\n';
  249.             cout << a << '\n';
  250.         }else
  251.             cout << "NO" << '\n';
  252.     }
  253.     */
  254. }
  255.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement