結果
問題 | No.1262 グラフを作ろう! |
ユーザー | n_vip |
提出日時 | 2020-10-16 22:43:42 |
言語 | C++17 (gcc 12.3.0 + boost 1.83.0) |
結果 |
AC
|
実行時間 | 341 ms / 3,000 ms |
コード長 | 3,590 bytes |
コンパイル時間 | 1,560 ms |
コンパイル使用メモリ | 138,296 KB |
実行使用メモリ | 27,668 KB |
最終ジャッジ日時 | 2024-07-20 23:02:57 |
合計ジャッジ時間 | 25,777 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 176 ms
20,332 KB |
testcase_01 | AC | 180 ms
17,124 KB |
testcase_02 | AC | 247 ms
22,404 KB |
testcase_03 | AC | 147 ms
17,908 KB |
testcase_04 | AC | 148 ms
17,876 KB |
testcase_05 | AC | 144 ms
17,900 KB |
testcase_06 | AC | 189 ms
19,496 KB |
testcase_07 | AC | 48 ms
10,740 KB |
testcase_08 | AC | 206 ms
21,972 KB |
testcase_09 | AC | 109 ms
14,704 KB |
testcase_10 | AC | 109 ms
15,156 KB |
testcase_11 | AC | 228 ms
22,972 KB |
testcase_12 | AC | 159 ms
19,280 KB |
testcase_13 | AC | 141 ms
18,288 KB |
testcase_14 | AC | 125 ms
15,472 KB |
testcase_15 | AC | 80 ms
13,296 KB |
testcase_16 | AC | 204 ms
21,616 KB |
testcase_17 | AC | 169 ms
19,572 KB |
testcase_18 | AC | 224 ms
23,588 KB |
testcase_19 | AC | 146 ms
16,936 KB |
testcase_20 | AC | 215 ms
21,724 KB |
testcase_21 | AC | 277 ms
23,020 KB |
testcase_22 | AC | 126 ms
15,852 KB |
testcase_23 | AC | 104 ms
15,092 KB |
testcase_24 | AC | 205 ms
22,080 KB |
testcase_25 | AC | 86 ms
13,424 KB |
testcase_26 | AC | 125 ms
14,828 KB |
testcase_27 | AC | 178 ms
19,824 KB |
testcase_28 | AC | 152 ms
18,016 KB |
testcase_29 | AC | 160 ms
18,280 KB |
testcase_30 | AC | 117 ms
15,600 KB |
testcase_31 | AC | 182 ms
20,972 KB |
testcase_32 | AC | 141 ms
17,776 KB |
testcase_33 | AC | 52 ms
11,504 KB |
testcase_34 | AC | 214 ms
22,384 KB |
testcase_35 | AC | 143 ms
18,100 KB |
testcase_36 | AC | 54 ms
11,632 KB |
testcase_37 | AC | 236 ms
24,192 KB |
testcase_38 | AC | 175 ms
19,700 KB |
testcase_39 | AC | 95 ms
14,512 KB |
testcase_40 | AC | 108 ms
15,344 KB |
testcase_41 | AC | 177 ms
19,440 KB |
testcase_42 | AC | 233 ms
23,408 KB |
testcase_43 | AC | 147 ms
17,776 KB |
testcase_44 | AC | 143 ms
17,648 KB |
testcase_45 | AC | 232 ms
23,788 KB |
testcase_46 | AC | 204 ms
20,724 KB |
testcase_47 | AC | 93 ms
14,960 KB |
testcase_48 | AC | 203 ms
21,740 KB |
testcase_49 | AC | 222 ms
23,536 KB |
testcase_50 | AC | 223 ms
23,280 KB |
testcase_51 | AC | 109 ms
16,184 KB |
testcase_52 | AC | 193 ms
20,328 KB |
testcase_53 | AC | 70 ms
12,404 KB |
testcase_54 | AC | 167 ms
19,948 KB |
testcase_55 | AC | 145 ms
18,156 KB |
testcase_56 | AC | 169 ms
19,056 KB |
testcase_57 | AC | 267 ms
26,096 KB |
testcase_58 | AC | 147 ms
18,540 KB |
testcase_59 | AC | 182 ms
19,568 KB |
testcase_60 | AC | 245 ms
24,944 KB |
testcase_61 | AC | 104 ms
15,088 KB |
testcase_62 | AC | 200 ms
22,224 KB |
testcase_63 | AC | 156 ms
19,444 KB |
testcase_64 | AC | 134 ms
17,464 KB |
testcase_65 | AC | 102 ms
14,576 KB |
testcase_66 | AC | 111 ms
15,604 KB |
testcase_67 | AC | 124 ms
16,308 KB |
testcase_68 | AC | 190 ms
20,464 KB |
testcase_69 | AC | 121 ms
15,988 KB |
testcase_70 | AC | 238 ms
23,796 KB |
testcase_71 | AC | 177 ms
20,548 KB |
testcase_72 | AC | 235 ms
24,408 KB |
testcase_73 | AC | 219 ms
23,896 KB |
testcase_74 | AC | 183 ms
21,212 KB |
testcase_75 | AC | 194 ms
21,492 KB |
testcase_76 | AC | 177 ms
19,952 KB |
testcase_77 | AC | 188 ms
21,356 KB |
testcase_78 | AC | 302 ms
21,708 KB |
testcase_79 | AC | 262 ms
25,500 KB |
testcase_80 | AC | 238 ms
23,792 KB |
testcase_81 | AC | 187 ms
21,104 KB |
testcase_82 | AC | 209 ms
23,024 KB |
testcase_83 | AC | 222 ms
23,024 KB |
testcase_84 | AC | 177 ms
20,336 KB |
testcase_85 | AC | 267 ms
26,020 KB |
testcase_86 | AC | 199 ms
21,872 KB |
testcase_87 | AC | 238 ms
24,436 KB |
testcase_88 | AC | 186 ms
20,976 KB |
testcase_89 | AC | 209 ms
22,128 KB |
testcase_90 | AC | 290 ms
27,660 KB |
testcase_91 | AC | 341 ms
27,632 KB |
testcase_92 | AC | 304 ms
27,456 KB |
testcase_93 | AC | 299 ms
27,636 KB |
testcase_94 | AC | 329 ms
27,668 KB |
testcase_95 | AC | 287 ms
27,552 KB |
ソースコード
#include <string> #include <vector> #include<iostream> #include<cstdio> #include<cstdlib> #include<stack> #include<queue> #include<cmath> #include<algorithm> #include<functional> #include<list> #include<deque> #include<bitset> #include<set> #include<map> #include<unordered_map> #include<unordered_set> #include<cstring> #include<sstream> #include<complex> #include<iomanip> #include<numeric> #include<cassert> #include<random> #define X first #define Y second #define pb push_back #define rep(X,Y) for (int (X) = 0;(X) < (int)(Y);++(X)) #define reps(X,S,Y) for (int (X) = (int)(S);(X) < (int)(Y);++(X)) #define rrep(X,Y) for (int (X) = (int)(Y)-1;(X) >=0;--(X)) #define rreps(X,S,Y) for (int (X) = (int)(Y)-1;(X) >= (int)(S);--(X)) #define repe(X,Y) for ((X) = 0;(X) < (Y);++(X)) #define peat(X,Y) for (;(X) < (Y);++(X)) #define all(X) (X).begin(),(X).end() #define rall(X) (X).rbegin(),(X).rend() #define eb emplace_back #define UNIQUE(X) (X).erase(unique(all(X)),(X).end()) #define Endl endl #define NL <<"\n" #define cauto const auto using namespace std; using ll=long long; using pii=pair<int,int>; using pll=pair<ll,ll>; template<class T> using vv=vector<vector<T>>; template<class T> inline bool MX(T &l,const T &r){return l<r?l=r,1:0;} template<class T> inline bool MN(T &l,const T &r){return l>r?l=r,1:0;} //#undef NUIP #ifdef NUIP #include "benri.h" #else #define out(args...) #endif #ifdef __cpp_init_captures template<typename T>vector<T> table(int n, T v){ return vector<T>(n, v);} template <class... Args> auto table(int n, Args... args){auto val = table(args...); return vector<decltype(val)>(n, move(val));} #endif template<class A,class B> pair<A,B> operator+(const pair<A,B> &p,const pair<A,B> &q){ return {p.X+q.X,p.Y+q.Y};} template<class A,class B,class C,class D> pair<A,B>& operator+=(pair<A,B> &p,const pair<C,D> &q){ p.X+=q.X; p.Y+=q.Y; return p;} template<class A,class B> pair<A,B> operator-(const pair<A,B> &p,const pair<A,B> &q){ return {p.X-q.X,p.Y-q.Y};} template<class A,class B,class C,class D> pair<A,B>& operator-=(pair<A,B> &p,const pair<C,D> &q){ p.X-=q.X; p.Y-=q.Y; return p;} template<class A,class B> istream& operator>>(istream &is, pair<A,B> &p){ is>>p.X>>p.Y; return is;} template<class T=ll> T read(){ T re; cin>>re; return move(re);} template<class T=ll> T read(const T &dec){ T re; cin>>re; return re-dec;} template<class T=ll> vector<T> readV(const int sz){ vector<T> re(sz); for(auto &x:re) x=read<T>(); return move(re);} template<class T=ll> vector<T> readV(const int sz, const T &dec){ vector<T> re(sz); for(auto &x:re) x=read<T>(dec); return move(re);} vv<int> readG(const int &n,const int &m){ vv<int> g(n); rep(_,m){ cauto a=read<int>(1),b=read<int>(1); g[a].pb(b); g[b].pb(a);} return move(g);} vv<int> readG(const int &n){ return readG(n,n-1);} const ll MOD=1e9+7; //998244353 vector<int> primes,prime; class PRPRPR{ public: PRPRPR(int PRIME_MAX){ prime.resize(PRIME_MAX); for(int i=2;i<PRIME_MAX;i++)if(!prime[i]){ primes.pb(i); for(int j=i*2;j<PRIME_MAX;j+=i) prime[j]=1; } } } prprprpr(1123456); int main(){ ios_base::sync_with_stdio(false); cin.tie(0); cout<<fixed<<setprecision(0); cauto n=read(); cauto m=read(); cauto as=readV(m); vector<ll> tot(n+1,1); for(const ll p:primes){ ll a=p-1; for(ll x=p;x<=n;x*=p){ for(ll i=0;i<=n;i+=x) tot[i]*=a; a=p; } } vector<int> cnt(n+1); for(cauto a:as) cnt[a]++; ll re=0; reps(x,1,n+1)for(ll a=x;a<=n;a+=x){ re+=cnt[a]*tot[a/x]*x; if(cnt[a]) out(a,x,cnt[a],tot[a/x],1); } re-=accumulate(all(as),0ll); cout<<re NL; return 0; }