제출 #646020

#제출 시각아이디문제언어결과실행 시간메모리
646020mr_robot_545Savrsen (COCI17_savrsen)C++17
0 / 120
119 ms131072 KiB
//بسم الله الرحمن الرحيم // 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= 1e3+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); } void sieve(int c){ //nlog(log(n)) vector<bool>prime(c+1, false); prime[0]= prime[1]= true; for (int i = 2; i*i <c ; ++i) { if(!prime[i]){ for (int j = i+i; j <=c ; j+=i) { prime[j]=true; } } } for (int i = 0; i <= c; ++i) { if(!prime[i])cout<<i<<endl; } } 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 *=((power(u.first,u.second+1)-1)/(u.first-1)); } a-=temp; ll sum=abs(temp-a); return sum; } 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,x,y; void solve(){ cin>>n>>m; ll sum=0; for (int i = n; i <=m ; ++i) { sum+= factorization(i); } cout<<sum<<endl; } int main() { MR_Robot #ifndef ONLINE_JUDGE freopen("in.txt", "r", stdin); freopen("out.txt", "w", stdout); #endif // w{ solve(); // } return 0; }

컴파일 시 표준 에러 (stderr) 메시지

savrsen.cpp: In function 'int main()':
savrsen.cpp:135:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
  135 |     freopen("in.txt", "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
savrsen.cpp:136:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
  136 |     freopen("out.txt", "w", stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...