1783E - Game of the Year - CodeForces Solution


brute force data structures math number theory *2300

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>
using namespace std;
const int maxn = 2e5 + 1;
int t, n, a[maxn], b[maxn], f[maxn];
vector<int> ans;
int main()
{
	scanf("%d", &t);
	while (t--) 
	{
		scanf("%d", &n);
		for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
		for (int i = 1; i <= n; i++) scanf("%d", &b[i]);
		memset(f, 0, sizeof(int)*(n + 1));
		for (int i = 1; i <= n; i++) if (a[i]>b[i]) f[b[i]]++, f[a[i]]--;
		for (int i = 1; i <= n; i++) f[i] += f[i - 1];
		ans.clear();
		for (int i = 1; i <= n; i++)
		{
			bool ok = true;
			for (int j = i; j <= n; j += i)
			{
				if (f[j] > 0) ok = false;
			}
			if (ok) ans.push_back(i);
		}
		printf("%d\n", (int)ans.size());
		for (int i = 0; i < ans.size(); i++)
			printf("%d ", ans[i]);
		printf("\n");
	}
	return 0;
}


Comments

Submit
0 Comments
More Questions

816B - Karen and Coffee
838D - Airplane Arrangements
148B - Escape
847G - University Classes
1110A - Parity
1215B - The Number of Products
604C - Alternative Thinking
1204C - Anna Svyatoslav and Maps
322A - Ciel and Dancing
1689B - Mystic Permutation
1711B - Party
1702D - Not a Cheap String
1714F - Build a Tree and That Is It
1703F - Yet Another Problem About Pairs Satisfying an Inequality
610A - Pasha and Stick
1200A - Hotelier
1091A - New Year and the Christmas Ornament
1352B - Same Parity Summands
1102A - Integer Sequence Dividing
630B - Moore's Law
1004A - Sonya and Hotels
1680B - Robots
1690A - Print a Pedestal (Codeforces logo)
1295A - Display The Number
1077A - Frog Jumping
1714G - Path Prefixes
1369C - RationalLee
289B - Polo the Penguin and Matrix
1716A - 2-3 Moves
1670B - Dorms War