Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- #include<time.h>
- using namespace std;
- #define f first
- #define s second
- #define ll long long
- #define ld long double
- #define MOD 1000000007
- #define PI (2*acos(0))
- #define pll pair<ll, ll>
- #define pii pair<int, int>
- #define vi vector<int>
- #define vll vector<ll>
- #define vvi vector<vi>
- #define vvll vector<vll>
- #define vvvi vector<vvi>
- #define vvvll vector<vvll>
- #define pb push_back
- #define FOR(i, a, b) for(ll i = (a); i <= (b); i++)
- #define FORn(i, n) for(ll i = 1; i <= (n); i++)
- #define FORx(i, a, b, n) for(ll i = (a); i <= (b); i += (x))
- #define FORa(i, b) for(; i <= (b); i++)
- #define FORax(i, b, x) for(; i <= (b); i += (x))
- #define FORR(i, a, b) for(ll i = (a); i >= (b); i--)
- #define FORRn(i, n) for(ll i = (n); i >= 1; i--)
- #define FORRx(i, a, b, n) for(ll i = (a); i >= (b); i -= (x))
- #define FORRa(i, b) for(; i >= (b); i--)
- #define FORRax(i, b, x) for(; i >= (b); i -= (x))
- #define all(x) (x).begin(), (x).end()
- #define sz(x) (x).size()
- #define sqr(x) 1ll*(x)*(x)
- template <typename T>
- inline void Read(T& x) {
- bool Neg = false;
- char c;
- for (c = getchar(); c < '0' || c > '9'; c = getchar())
- if (c == '-') Neg = !Neg;
- x = c - '0';
- for (c = getchar(); c >= '0' && c <= '9'; c = getchar())
- x = x * 10 + c - '0';
- if (Neg) x = -x;
- }
- template<typename T>
- inline void Write(T x) {
- if (x < 0)
- {
- putchar('-'); x = -x;
- }
- T p = 1;
- for (T temp = x / 10; temp > 0; temp /= 10) p *= 10;
- for (; p > 0; x %= p, p /= 10) putchar(x / p + '0');
- }
- /* ----------------- useful func ----------------- */
- template<typename T> inline
- void update(T& x){
- if(x < 5){
- if(x == 3)
- x = 5;
- else
- x = 3;
- }
- else{
- if((x - 1)%6)
- x += 2;
- else
- x += 4;
- }
- }
- template<typename T> inline
- void SieveOfEratosthenes(T n){
- vector<T> prime(n + 1, true);
- prime[0] = prime[1] = false;
- for (int p = 2; p*p <= n; update(p))
- if (prime[p] == true)
- for (int i = p*p; i <= n; i += p)
- prime[i] = false;
- for (int p = 2; p <= n; update(p))
- if (prime[p]){
- Write(p); putchar('\n');
- }
- }
- vvll operator * (vvll a, vvll b){
- ll M = sz(a), N = sz(b), P = sz(b[0]);
- vvll res(M, vll(N, 0));
- FOR(i, 0, M - 1)
- FOR(j, 0, P - 1)
- FOR(k, 0, N-1)
- res[i][j] += a[i][k]*b[k][j];
- return res;
- }
- template<typename T> inline
- T power(T a, ll n){
- if(n == 1) return a;
- T t = power(a, n/2);
- return (n & 1) ? t*t*a : t*t;
- }
- /* ----------------- ~~~~~~~~~~~ ----------------- */
- /* ----------------- ~~~~~~~ ----------------- */
- int n, x, sum;
- set<int> a;
- map<int, int> m;
- /* ----------------- ~~~~~~~ ----------------- */
- int main(){
- // freopen("DAYSO.inp", "r", stdin);
- // freopen("DAYSO.out", "w", stdout);
- //ios_base::sync_with_stdio(0); cin.tie(0);
- /* ----------------- main func ----------------- */
- Read(n);
- while(n--){
- Read(x);
- sum += x;
- m[x]++;
- a.insert(x);
- }
- Write(sum);
- putchar('\n');
- for(set<int>::iterator temp = a.begin(); temp != a.end(); ++temp){
- int i = *temp;
- Write(i);
- putchar(':');
- Write(m[i]);
- putchar('\n');
- }
- /* ----------------- ~~~~~~~~~ ----------------- */
- }
Add Comment
Please, Sign In to add comment