# L33t H4xX0R 69,23/100

**URL:** <https://forum.olinfo.it/t/l33t-h4xx0r-69-23-100/4640>\
**Category:** Aiuto\
**Created:** [20 Maggio 2017, 8:18pm UTC](https://forum.olinfo.it/t/l33t-h4xx0r-69-23-100/4640 "2017-05-20T20:18:51Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![rayz1065](https://forum.olinfo.it/letter_avatar_proxy/v4/letter/r/51bf81/32.png) [@rayz1065](https://forum.olinfo.it/u/rayz1065)\
**Post date:** [20 Maggio 2017, 8:18pm UTC](https://forum.olinfo.it/t/l33t-h4xx0r-69-23-100/4640/1 "2017-05-20T20:18:52Z")

</div>

Ho provato a risolvere questo problema ma per qualche ragione mi continua a dare 69,23/100 punti… ho provato un po’ tutto, infatti sono alla trentunessima submission sul problema, ma non riesco ad arrivare ad un risultato corretto, i subtask su cui da “output isn’t correct” sono 004, 006, 013, 019, 020, 021, 023 e 025.  
Spero che qualcuno di voi sappia aiutarmi, grazie in ogni caso.

Il codice:

#include   
#include   
#include \<unordered\_map\>  
#include   
using namespace std;

#define modulo 1000000007

int main(){  
fstream in,out;  
in.open(“input.txt”,ios::in);  
out.open(“output.txt”,ios::out);  
long long int N;  
long long int K;  
in\>\>N\>\>K;  
unordered\_map\<long long int, int\> freq;  
for(int i=0; i\<N; i++){  
long long int k;  
in\>\>k;  
freq[k]++;  
}  
long long int a=sqrt(K), S=0;  
if(a_a==K)  
S=((freq[a]_(freq[a]-1))/2);  
for(int i=1; i\<sqrt(K); i++)  
if(K%i==0)  
S=(S+(freq[i]\*freq[K/i]))%modulo;  
out\<\<S;  
}
