Submission #72180535
Source Code Expand
#include <algorithm>
#include <array>
#include <bitset>
#include <cassert>
#include <chrono>
#include <climits>
#include <cmath>
#include <complex>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <deque>
#include <exception>
#include <fstream>
#include <functional>
#include <iomanip>
#include <iostream>
#include <iterator>
#include <limits>
#include <list>
#include <map>
#include <memory>
#include <new>
#include <numeric>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <stdexcept>
#include <streambuf>
#include <string>
#include <tuple>
#include <typeinfo>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <vector>
using ll = long long;
using ld = long double;
using namespace std;
#define endl "\n"
#define ff first
#define ss second
#define forn(i,n) for(int i=0;i<n;i++)
#define dbgv(v) cout<<#v<<" "<<v<<endl
#define dbga(a,n) forn(i,n-1) {cout<<a[i]<<' ';} cout<<a[n-1]<<'\n';
#define all(v) (v).begin(), (v).end()
const ll N = 1e6 + 5, mod = 1e9 + 7;
ll fact[N], modinv[N];
ll fastpow(ll n, ll m) {
int ret = 1;
while (m) {
if (m & 1)
(ret *= n) %= mod;
(n *= n) %= mod;
m /= 2;
}
return ret;
}
void pre() {
fact[0] = 1;
for (int i = 1; i < N; i++)
fact[i] = i * fact[i - 1] % mod;
modinv[N - 1] = fastpow(fact[N - 1], mod - 2);
for (int i = N - 2; i >= 0; i--)
modinv[i] = (i + 1) * modinv[i + 1] % mod;
}
ll ncr(ll n, ll r) {
return fact[n] * modinv[n - r] % mod * modinv[r] % mod;
}
void dfs(int i,int p, vector<vector<int>>&adj){
for(auto c:adj[i]){
dfs(c,i,adj);
}
}
void solve(){
int n;
cin>>n;
vector<ll> a(n);
map<ll,vector<int>> p7,p5,p3;
forn(i,n){
cin>>a[i];
if(a[i]%7==0) p7[a[i]/7].push_back(i);
if(a[i]%5==0) p5[a[i]/5].push_back(i);
if(a[i]%3==0) p3[a[i]/3].push_back(i);
}
ll ans=0;
for(auto&[g,js]:p5){
if(!p7.count(g)||!p3.count(g)) continue;
auto&is=p7[g];
auto&ks=p3[g];
ll ci=is.size(),ck=ks.size();
for(int j:js){
ll il=lower_bound(all(is),j)-is.begin();
ll ir=ci-il;
ll kl=lower_bound(all(ks),j)-ks.begin();
ll kr=ck-kl;
ans+=il*kl+ir*kr;
}
}
cout<<ans<<endl;
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
int T = 1;
while(T--){
solve();
}
return 0;
}
Submission Info
| Submission Time |
|
| Task |
D - Kadomatsu Subsequence |
| User |
SummitDevil |
| Language |
C++23 (GCC 15.2.0) |
| Score |
425 |
| Code Size |
2589 Byte |
| Status |
AC |
| Exec Time |
214 ms |
| Memory |
27940 KiB |
Compile Error
./Main.cpp: In function 'void dfs(int, int, std::vector<std::vector<int> >&)':
./Main.cpp:71:20: warning: unused parameter 'p' [-Wunused-parameter]
71 | void dfs(int i,int p, vector<vector<int>>&adj){
| ~~~~^
Judge Result
| Set Name |
Sample |
All |
| Score / Max Score |
0 / 0 |
425 / 425 |
| Status |
|
|
| Set Name |
Test Cases |
| Sample |
sample_01.txt, sample_02.txt, sample_03.txt |
| All |
sample_01.txt, sample_02.txt, sample_03.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt |
| Case Name |
Status |
Exec Time |
Memory |
| sample_01.txt |
AC |
1 ms |
3544 KiB |
| sample_02.txt |
AC |
1 ms |
3448 KiB |
| sample_03.txt |
AC |
1 ms |
3644 KiB |
| test_01.txt |
AC |
1 ms |
3404 KiB |
| test_02.txt |
AC |
1 ms |
3644 KiB |
| test_03.txt |
AC |
1 ms |
3624 KiB |
| test_04.txt |
AC |
1 ms |
3612 KiB |
| test_05.txt |
AC |
22 ms |
9632 KiB |
| test_06.txt |
AC |
21 ms |
9508 KiB |
| test_07.txt |
AC |
21 ms |
9536 KiB |
| test_08.txt |
AC |
21 ms |
9632 KiB |
| test_09.txt |
AC |
22 ms |
9528 KiB |
| test_10.txt |
AC |
22 ms |
9652 KiB |
| test_11.txt |
AC |
20 ms |
8744 KiB |
| test_12.txt |
AC |
29 ms |
7476 KiB |
| test_13.txt |
AC |
19 ms |
7532 KiB |
| test_14.txt |
AC |
25 ms |
8568 KiB |
| test_15.txt |
AC |
28 ms |
8944 KiB |
| test_16.txt |
AC |
30 ms |
8308 KiB |
| test_17.txt |
AC |
25 ms |
7776 KiB |
| test_18.txt |
AC |
35 ms |
8484 KiB |
| test_19.txt |
AC |
28 ms |
8272 KiB |
| test_20.txt |
AC |
90 ms |
10476 KiB |
| test_21.txt |
AC |
57 ms |
8940 KiB |
| test_22.txt |
AC |
93 ms |
10592 KiB |
| test_23.txt |
AC |
185 ms |
21356 KiB |
| test_24.txt |
AC |
214 ms |
24048 KiB |
| test_25.txt |
AC |
182 ms |
20128 KiB |
| test_26.txt |
AC |
136 ms |
27744 KiB |
| test_27.txt |
AC |
134 ms |
27888 KiB |
| test_28.txt |
AC |
137 ms |
27940 KiB |
| test_29.txt |
AC |
134 ms |
27864 KiB |
| test_30.txt |
AC |
140 ms |
27916 KiB |