Advertisement
leminhkt

noname47

Apr 25th, 2020
645
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.55 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. // #include<time.h>
  3. // #include<stdio.h>
  4. // #include<windows.h>
  5. // #include<conio.h>
  6.  
  7.  
  8. using namespace std;
  9.  
  10.  
  11. #define fi first
  12. #define se second
  13. #define ll long long
  14. #define ld long double
  15. #define MOD 1000000007
  16. #define PI (2*acos(0))
  17. #define pll pair<ll, ll>
  18. #define pii pair<int, int>
  19. #define vi vector<int>
  20. #define vll vector<ll>
  21. #define vvi vector<vi>
  22. #define vvll vector<vll>
  23. #define pb push_back
  24.  
  25.  
  26. #define FOR(i, a, b) for(ll i = (a); i <= (b); i -= -1)
  27. #define FORn(i, n) for(ll i = 1; i <= (n); i -= -1)
  28. #define FORx(i, a, b, n) for(ll i = (a); i <= (b); i += (x))
  29. #define FORa(i, b) for(; i <= (b); i -= -1)
  30. #define FORax(i, b, x) for(; i <= (b); i += (x))
  31. #define FORR(i, a, b) for(ll i = (a); i >= (b); i--)
  32. #define FORRn(i, n) for(ll i = (n); i >= 1; i--)
  33. #define FORRx(i, a, b, n) for(ll i = (a); i >= (b); i -= (x))
  34. #define FORRa(i, b) for(; i >= (b); i--)
  35. #define FORRax(i, b, x) for(; i >= (b); i -= (x))
  36.  
  37.  
  38. #define all(x) (x).begin(), (x).end()
  39. #define sz(x) (x).size()
  40. #define sqr(x) 1ll*(x)*(x)
  41.  
  42.  
  43. template <typename T>
  44. inline void Read(T& x) {
  45.     bool Neg = false;
  46.     char c;
  47.     for (c = getchar(); c < '0' || c > '9'; c = getchar())
  48.         if (c == '-') Neg = !Neg;
  49.     x = c - '0';
  50.     for (c = getchar(); c >= '0' && c <= '9'; c = getchar())
  51.         x = x * 10 + c - '0';
  52.     if (Neg) x = -x;
  53. }
  54. template <typename T>
  55. inline void Write(T x) {
  56.     if (x < 0)
  57.     {
  58.         putchar('-'); x = -x;
  59.     }
  60.     T p = 1;
  61.     for (T temp = x / 10; temp > 0; temp /= 10) p *= 10;
  62.     for (; p > 0; x %= p, p /= 10) putchar(x / p + '0');
  63. }
  64.  
  65.  
  66.     /* ----------------- useful func ----------------- */
  67.  
  68.     template<typename T> inline
  69.     void update(T& x){
  70.         if(x < 5){
  71.             if(x == 3)
  72.                 x = 5;
  73.             else
  74.                 x = 3;
  75.         }
  76.         else{
  77.             if((x - 1)%6)
  78.                 x += 2;
  79.             else
  80.                 x += 4;
  81.         }
  82.     }
  83.  
  84.  
  85.     template<typename T> inline
  86.     void SieveOfEratosthenes(T n){
  87.         vector<T> prime(n + 1, true);
  88.         prime[0] = prime[1] = false;
  89.         for (int p = 2; p*p <= n; update(p))
  90.             if (prime[p] == true)
  91.                 for (int i = p*p; i <= n; i += p)
  92.                     prime[i] = false;
  93.         for (int p = 2; p <= n; update(p))
  94.             if (prime[p]){
  95.                 Write(p); putchar('\n');
  96.             }
  97.     }
  98.  
  99.  
  100.     vvll operator * (vvll a, vvll b){
  101.         ll M = sz(a), N = sz(b), P = sz(b[0]);
  102.         vvll res(M, vll(N, 0));
  103.         FOR(i, 0, M - 1)
  104.             FOR(j, 0, P - 1)
  105.                 FOR(k, 0, N-1)
  106.                     res[i][j] += a[i][k]*b[k][j];
  107.         return res;
  108.     }
  109.  
  110.    
  111.     template <typename T> inline
  112.     T power(T a, ll n){
  113.         if(n == 1) return a;
  114.         T t = power(a, n/2);
  115.         return (n & 1) ? t*t*a : t*t;
  116.     }
  117.  
  118. /* ----------------- ~~~~~~~~~~~ ----------------- */
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.         /* ----------------- ~~~~~~~ ----------------- */
  127.     int n, res;
  128.     map<int, set<int>> m;
  129.  
  130.  
  131.  
  132.  
  133. /* ----------------- ~~~~~~~ ----------------- */
  134.  
  135. int main(){
  136.    
  137.     //freopen("INPUT.inp", "r", stdin);
  138.     //freopen("OUTPUT.out", "w", stdout);
  139.     //ios_base::sync_with_stdio(0); cin.tie(0);
  140.  
  141.         /* ----------------- main func ----------------- */
  142.     cin >> n;
  143.     FORn(i, n){
  144.         int x; cin >> x;
  145.         m[x].insert(i);
  146.         if(x != res && sz(m[x]) > sz(m[res]))
  147.             res = x;
  148.     }
  149.     cout << res << '\n' << sz(m[res]) << '\n';
  150.     for(set<int> :: iterator i = m[res].begin(); i != m[res].end(); i++)
  151.         cout << *i << ' ';
  152.  
  153.  
  154.  
  155.  
  156.  
  157. /* ----------------- ~~~~~~~~~ ----------------- */
  158.  
  159. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement