divs;
for(int i = 1, j; 1LL * i * i <= s; i ++){
if(s % i == 0){
divs.push_back(i);
j = s / i;
if(i != j && j <= inf) divs.push_back(j);
}
}
sort(divs.rbegin(), divs.rend());
int i = -1, mod, l, r;
vector b(2 * n);
while(true){
mod = divs[++ i];
for(int i = 0; i < 2 * n; i ++) b[i] = a[i] % mod;
sort(b.begin(), b.end());
l = 0; r = 2 * n - 1;
while(l <= r && b[l] == 0) l ++;
if(l % 2 != 0) continue;
while(l < r && b[l]+b[r] == mod) l ++, r --;
if(l < r) continue;
break;
}
cout << divs[i] << endl;
return 0;
}
82-masala
#include
#include
int main() {
int s, t, a, b, m, n;
std::cin >> s >> t >> a >> b >> m >> n;
std::vector d(m);
for (int i = 0; i < m; ++i) {
std::cin >> d[i];
}
std::vector d1(n);
for (int j = 0; j < n; ++j) {
std::cin >> d1[j];
}
int x = 0;
int y = 0;
for (const auto &i : d) {
if (i >= (s - a) && i <= (t - a)) {
x += 1;
}
}
for (const auto &j : d1) {
if (j <= (t - b) && j >= (s - b)) {
y += 1;
}
}
std::cout << x << std::endl;
std::cout << y << std::endl;
return 0;
}
83-masala
#include
#include
int main() {
int s, t, a, b, m, n;
std::cin >> s >> t >> a >> b >> m >> n;
std::vector d(m);
for (int i = 0; i < m; ++i) {
std::cin >> d[i];
}
std::vector d1(n);
for (int j = 0; j < n; ++j) {
std::cin >> d1[j];
}
int x = 0;
int y = 0;
for (const auto &i : d) {
if (i >= (s - a) && i <= (t - a)) {
x += 1;
}
}
for (const auto &j : d1) {
if (j <= (t - b) && j >= (s - b)) {
y += 1;
}
}
std::cout << x << std::endl;
std::cout << y << std::endl;
return 0;
}
84-masala
#pragma GCC optimize("Ofast")
#include
using ll = long long;
#define vi vector
#define vc vector
#define pb push_back
#define rep(i, a, b) for(ll i = (a); i != (b); i += 2 * ((a) < (b)) - 1)
#define all(x) (x).begin(), (x).end()
#define endl '\n'
#define fast ios::sync_with_stdio(false); cin.tie(0);
using namespace std;
const int mod = 1e9 + 7;
int main(){ fast
ll n, m, r; cin >> n >> m >> r; ll a[n][m], b[n][m];
rep(i, 0, n)
rep(j, 0, m)
cin >> a[i][j];
ll left = 0, right = m - 1, up = 0, down = n - 1;
while(left <= right && up <= down){
vi frame;
rep(i, up, down)
frame.pb(a[i][left]);
rep(i, left, right)
frame.pb(a[down][i]);
rep(i, down, up)
frame.pb(a[i][right]);
rep(i, right, left)
frame.pb(a[up][i]);
ll len = frame.size();
ll ind = 0;
rep(i, up, down)
//frame.pb(a[i][left]);
a[i][left] = frame[(ind++ - r % len + len) % len];
rep(i, left, right)
//frame.pb(a[down][i]);
a[down][i] = frame[(ind++ - r % len + len) % len];
rep(i, down, up)
//frame.pb(a[i][right]);
a[i][right] = frame[(ind++ - r % len + len) % len];
rep(i, right, left)
//frame.pb(a[up][i]);
a[up][i] = frame[(ind++ - r % len + len) % len];
left++; right--;
up++; down--;
}
rep(i, 0, n)
rep(j, 0, m)
cout << a[i][j] << " \n"[j == m - 1];
cout << endl;
return 0;
}