Advertisement
LEGEND2004

HW #9

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