Răspuns:
Cel mai sigur iti iese din tip(100^1000 = 10^2000, cand int tine pana la 10^9)
Explicație:
#include <bits/stdc++.h>
using namespace std;
ifstream f ("memory003.in");
ofstream g ("memory003.out");
short n , m;
unsigned long long int p , x;//declarat ca tip mai mare
unsigned long long int a[305];//declarat ca tip mai mare
int main()
{
short i , j , ans = 0;
f >> n >> m >> p;
fill(a , a + 305 , 1);
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
f >> x;
a[j] = (a[j]*x)%p;//Folosim restul impartirii la p a produsului
}
}
for(j=1;j<=m;j++)
{
if(a[j] == 0)//si verificam daca este 0
++ans;
}
g << ans;
return 0;
}