Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <cstdio>using namespace std;long long x, y;long long gcd(long long a, long long b){if (!b) return a;return gcd(b, a%b);}pair<long long, long long > extend_gcd(long long a, long long b){pair<long long, long long> tmp;if (a%b == 0){return pair<long long , long long>(0, 1);}tmp = extend_gcd(b, a%b);long long tmp_x = tmp.first, tmp_y = tmp.second;x = tmp_y;y = tmp_x-(a/b)*tmp_y;return pair<long long , long long>(x, y);}long long solve(long long s1, long long s2, long long v1, long long v2, long long m){long long a = v1-v2;long long b = m;long long c = s2-s1;if (a < 0){a += m;}long long d = gcd(a, b);if (c%d){return -1;}