Submission #647238

# Submission time Handle Problem Language Result Execution time Memory
647238 2022-10-02T03:09:04 Z mr_robot_545 Prosjek (COCI18_prosjek) C++17
50 / 50
21 ms 23824 KB
// i love mancity
#include<bits/stdc++.h>
#include <stack>
#include <vector>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#define             endl "\n"
#define             ll long long
#define             f(a) for(int i=0;i<a;i++)
#define             rf(a) for(int i=a-1;i>=0;i--)
#define             w  int t;cin>>t;while(t--)
#define             all(v) v.begin(),v.end()
#define             yes cout<<"YES"<<endl;
#define             no cout<<"NO"<<endl;
#define             prev2pn(x) pow(2,floor(log2(x)))
#define             MR_Robot iostream::sync_with_stdio(false);cin.tie(nullptr); \
                    cout.tie(nullptr);
#define             arrRange(a , l , r) int _##a[(r-l)+1]; int* a= _##a-l;
#define             ordered_set tree<int, null_type,less<int>, \
                    rb_tree_tag,tree_order_statistics_node_update>
using namespace std;
using namespace __gnu_pbds;
const ll MOD=1e9+7;
const int N= 1e6+5;
const double EPS = 1e-7;
const double PI = 3.14159265;
void fact(ll  c){
    int g=500000;
    vector<ll>fa(g, 0);
    fa[0]=1;
    for (int i = 2; i <=c ; ++i) {
        for (int j = 0; j <g ; ++j) {
            fa[j]*=i;

        }
        for (int j = 0; j <g ; ++j) {
            if(fa[j] > 9){
                fa[j + 1]+=(fa[j] / 10);
                fa[j]%=10;
            }
        }
    }
    int index=0;
    for (int i = g-1; i >=0 ; --i) {
        if(fa[i] == 0)index=i;
        else break;
    }
    for (int i = index-1; i >=0 ; --i) {
        cout << fa[i];
    }
}
int power(ll xx, ll nn) {
    ll result = 1;
    while (nn > 0) {
        if ((nn & 1) == 1) // y is odd
        {
            result = (result % MOD) * (xx % MOD);
        }
        xx = (xx % MOD) * (xx % MOD);
        nn = nn >> 1; // y=y/2;
    }
    return (result % MOD);
}


ll factorization(ll nn) { //at most log(n)
    int cnt=0;
    ll temp=nn;
    vector<ll>factors;
    while (nn % 2 == 0) {
        cnt++;
        factors.push_back(2);
        nn /= 2;
    }
    for (int i = 3; i * i <= nn; i+=2) {
        while (nn % i == 0) {
            cnt++;
            factors.push_back(i);
            nn /= i;
        }
    }
    if (nn > 1) {
        factors.push_back(nn);
    }
    map<ll, ll> mp;
    for (int i = 0; i < int(factors.size()); ++i) {
        mp[factors[i]]++;
    }
    ll a = 1;
    for (auto u: mp) {
        a *=(u.second+1);
    }
    cout<<cnt<<endl;
    return a;

}


const int dx[] = {1, -1, 0, 0,1,-1} , dy[] = {0, 0, 1, -1,1,-1};
const string dir[]={"D","U","R","L","UR","DR","UL","DL"};
const string dir1[]={"Carrots","Kiwis","Grapes"};
arrRange(aa,-N ,N);
vector<int>adj[N];
bool vis[N];
int child[N];
int n,m;
int pre[N],suff[N];
void solve(){
    cin>>n;
    vector<int>v1(n),v2;
    for (int i = 0; i <n ; ++i) {
        cin>>v1[i];
    }
    sort(v1.begin(),v1.end());
    double ans=v1[0];
    for (int i = 1; i <n ; ++i) {
        ans+=v1[i];
        ans/=2.0;

    }
    cout<<fixed<<setprecision(6)<<ans<<endl;
}
int main() {
    MR_Robot
//#ifndef ONLINE_JUDGE
//    freopen("in.txt", "r", stdin);
//    freopen("out.txt", "w", stdout);
//#endif
//    w{
    solve();
//    }

    return 0;
}
// QAQGDQAQhdfj

Compilation message

prosjek.cpp: In function 'long long int factorization(long long int)':
prosjek.cpp:68:8: warning: unused variable 'temp' [-Wunused-variable]
   68 |     ll temp=nn;
      |        ^~~~
# Verdict Execution time Memory Grader output
1 Correct 15 ms 23764 KB Output is correct
2 Correct 21 ms 23776 KB Output is correct
3 Correct 14 ms 23788 KB Output is correct
4 Correct 13 ms 23788 KB Output is correct
5 Correct 12 ms 23784 KB Output is correct
6 Correct 13 ms 23824 KB Output is correct
7 Correct 12 ms 23808 KB Output is correct
8 Correct 12 ms 23764 KB Output is correct
9 Correct 12 ms 23764 KB Output is correct
10 Correct 13 ms 23776 KB Output is correct