Submission #69334627
Source Code Expand
//#include "atcoder/modint" #pragma GCC optimize("Ofast") #include "atcoder/all" #include <bits/stdc++.h> #include <string> using namespace std; using namespace atcoder; #define int long long template<class T>bool chmax(T &a, const T &b) { if (a<b) { a=b; return 1; } return 0; } template<class T>bool chmin(T &a, const T &b) { if (b<a) { a=b; return 1; } return 0; } //const int MOD =1e9+7; //constexpr int MOD =10; constexpr int MOD =998244353; const long long M1=167772161,M2=469762049,M3=1224736769; //const int MOD =31607; using mint = static_modint<MOD>; //using mint = double; //using mint = modint; ostream& operator << (ostream& ost, const mint& m){ost << m.val();return ost;} istream& operator >> (istream& ost, mint& m){int a;ost >> a;m=a;return ost;} double time_limit = 100.0,start_temp=0.01,end_temp=0.0; std::mt19937 rng(std::random_device{}()); int ans=0,dp[1ll<<20]={},lcx[1ll<<20]; signed main(){ //ios_base::sync_with_stdio(false); //cin.tie(NULL); int n,m,y,s=1; cin>>n>>m>>y; int a[n]; for(int i=0;i<n;i++)cin>>a[i]; map<int,int>mp; for(int i=m;i<=n;i++){ mp[i]=s; s=-s*(i+1)/(i+1-m); } dp[0]=y,lcx[0]=1; for(unsigned long long i=1;i<(1ll<<n);i++){ for(int j=n-1;j>=0;j--)if(i&(1ll<<j)){ if(lcx[i^(1ll<<j)]==-1|| lcx[i^(1ll<<j)]/gcd(lcx[i^(1ll<<j)],a[j])>y/a[j])lcx[i]=-1,dp[i]=0; else lcx[i]=lcx[i^(1ll<<j)]/gcd(lcx[i^(1ll<<j)],a[j])*a[j],dp[i]=y/lcx[i]; if(popcount(i)>=m)ans+=mp[popcount(i)]*dp[i]; break; } } cout<<ans<<endl; }
Submission Info
Submission Time | |
---|---|
Task | F - Loud Cicada |
User | yatuba |
Language | C++ 20 (gcc 12.2) |
Score | 525 |
Code Size | 1709 Byte |
Status | AC |
Exec Time | 79 ms |
Memory | 20120 KiB |
Compile Error
Main.cpp: In function ‘int main()’: Main.cpp:41:33: warning: comparison of integer expressions of different signedness: ‘long long unsigned int’ and ‘long long int’ [-Wsign-compare] 41 | for(unsigned long long i=1;i<(1ll<<n);i++){ | ~^~~~~~~~~
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 525 / 525 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 00-sample-01.txt, 00-sample-02.txt, 00-sample-03.txt |
All | 00-sample-01.txt, 00-sample-02.txt, 00-sample-03.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 01-25.txt, 01-26.txt, 01-27.txt, 01-28.txt, 01-29.txt, 01-30.txt, 01-31.txt, 01-32.txt, 01-33.txt, 01-34.txt, 01-35.txt, 01-36.txt, 01-37.txt, 01-38.txt, 01-39.txt, 01-40.txt, 01-41.txt, 01-42.txt, 01-43.txt, 01-44.txt, 01-45.txt, 01-46.txt, 01-47.txt, 01-48.txt, 01-49.txt, 01-50.txt, 01-51.txt, 01-52.txt, 01-53.txt, 01-54.txt, 01-55.txt, 01-56.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00-sample-01.txt | AC | 1 ms | 3640 KiB |
00-sample-02.txt | AC | 1 ms | 3524 KiB |
00-sample-03.txt | AC | 16 ms | 20028 KiB |
01-01.txt | AC | 1 ms | 3524 KiB |
01-02.txt | AC | 1 ms | 3716 KiB |
01-03.txt | AC | 1 ms | 3744 KiB |
01-04.txt | AC | 1 ms | 3644 KiB |
01-05.txt | AC | 1 ms | 3648 KiB |
01-06.txt | AC | 1 ms | 3780 KiB |
01-07.txt | AC | 1 ms | 3576 KiB |
01-08.txt | AC | 1 ms | 3736 KiB |
01-09.txt | AC | 1 ms | 3588 KiB |
01-10.txt | AC | 1 ms | 3656 KiB |
01-11.txt | AC | 1 ms | 3636 KiB |
01-12.txt | AC | 1 ms | 3648 KiB |
01-13.txt | AC | 1 ms | 3576 KiB |
01-14.txt | AC | 1 ms | 3580 KiB |
01-15.txt | AC | 56 ms | 20096 KiB |
01-16.txt | AC | 47 ms | 20028 KiB |
01-17.txt | AC | 50 ms | 20024 KiB |
01-18.txt | AC | 35 ms | 19960 KiB |
01-19.txt | AC | 34 ms | 20120 KiB |
01-20.txt | AC | 21 ms | 20016 KiB |
01-21.txt | AC | 1 ms | 3604 KiB |
01-22.txt | AC | 1 ms | 3604 KiB |
01-23.txt | AC | 1 ms | 3604 KiB |
01-24.txt | AC | 1 ms | 3644 KiB |
01-25.txt | AC | 8 ms | 7744 KiB |
01-26.txt | AC | 1 ms | 3600 KiB |
01-27.txt | AC | 1 ms | 3668 KiB |
01-28.txt | AC | 1 ms | 3636 KiB |
01-29.txt | AC | 4 ms | 7624 KiB |
01-30.txt | AC | 1 ms | 3668 KiB |
01-31.txt | AC | 1 ms | 3668 KiB |
01-32.txt | AC | 1 ms | 3644 KiB |
01-33.txt | AC | 15 ms | 19960 KiB |
01-34.txt | AC | 15 ms | 20048 KiB |
01-35.txt | AC | 14 ms | 20040 KiB |
01-36.txt | AC | 21 ms | 20112 KiB |
01-37.txt | AC | 2 ms | 3840 KiB |
01-38.txt | AC | 3 ms | 4152 KiB |
01-39.txt | AC | 79 ms | 19924 KiB |
01-40.txt | AC | 79 ms | 19956 KiB |
01-41.txt | AC | 78 ms | 20020 KiB |
01-42.txt | AC | 74 ms | 20016 KiB |
01-43.txt | AC | 62 ms | 20112 KiB |
01-44.txt | AC | 13 ms | 20020 KiB |
01-45.txt | AC | 13 ms | 19964 KiB |
01-46.txt | AC | 69 ms | 20020 KiB |
01-47.txt | AC | 63 ms | 19964 KiB |
01-48.txt | AC | 68 ms | 20032 KiB |
01-49.txt | AC | 55 ms | 20024 KiB |
01-50.txt | AC | 1 ms | 3804 KiB |
01-51.txt | AC | 1 ms | 3736 KiB |
01-52.txt | AC | 21 ms | 20020 KiB |
01-53.txt | AC | 21 ms | 19960 KiB |
01-54.txt | AC | 21 ms | 20036 KiB |
01-55.txt | AC | 20 ms | 20112 KiB |
01-56.txt | AC | 19 ms | 19904 KiB |