http://codeforces.com/contest/1316/problem/C
高斯引理,听都没听过,怎么可能写出来。。。无限挖5
需要一个快速读入,数组需要从0开始。
#include <iostream>
#include<bitset>
#include <algorithm>
#include <cmath>
#include <ctype.h>
#include <cstring>
#include <cstdio>
#include <set>
#include <iostream>
#include <cstdio>
#include <fstream>
#include <algorithm>
#include <cmath>
#include <deque>
#include <vector>
#include <queue>
#include <string>
#include <cstring>
#include <map>
#include <stack>
#include <set>
#include<iomanip>
#define SIS std::ios::sync_with_stdio(false)
#define ll long long
#define INF 0x3f3f3f3f
const int mod = 1e9 + 7;
const double esp = 1e-5;
const double PI = 3.141592653589793238462643383279;
using namespace std;
const int N = 1e7 + 5;
const int maxn = 1 << 20;
ll powmod(ll a, ll b) { ll res = 1; a %= mod; while (b >= 0); for (; b; b >>= 1) { if (b & 1)res = res * a % mod; a = a * a % mod; }return res; }
ll gcd(ll a, ll b) { return b ? gcd(b, a % b) : a; }
/*void chafen(int l, int r, int k) {//差分函数
p[l] += k;
p[r + 1] -= k;
}*/
ll fastMul(ll a, ll b, ll p) {//快速乘
a %= p;
ll ans2 = 0;
while (b > 0) {
if (b & 1)
ans2 = (ans2 + a) % p;
b >>= 1;
a = (a + a) % p;
}
return ans2;
}
ll modMul(ll a, ll b, ll p)//极限快速乘
{
if (p <= 1000000000)
return a * b % p;
else if (p <= 000000000000ll)
return (((a * (b >> 20) % p) << 20) + (a * (b & ((1 << 20) - 1)))) % p;
else {
ll d = (ll)floor(a * (long double)b / p + 0.5);
ll ret = (a * b - d * p) % p;
if (ret < 0) ret += p;
return ret;
}
}
inline int read() {//快速读入
int s = 0, w = 1; char ch = getchar();
while (ch < '0' || ch > '9') { if (ch == '-') w = -1; ch = getchar(); }
while (ch >= '0' && ch <= '9') s = s * 10 + ch - '0', ch = getchar();
return s * w;
}
/*************************************************************/
int a[N], b[N];
int main() {
int n, m, p;
n = read(), m = read(), p = read();
for (int i = 0; i < n; i++)
a[i] = read();
for (int i = 0; i < m; i++)
b[i] = read();
int sign1, sign2;
for (int i = 0; i < n; i++)
if (a[i] % p != 0)
sign1 = i;
for (int i = 0; i < m; i++)
if (b[i] % p != 0)
sign2 = i;
cout << sign1+sign2 << endl;
return 0;
}
/*
*/