Submission #140578

#TimeUsernameProblemLanguageResultExecution timeMemory
140578luciocfStrange Device (APIO19_strange_device)C++14
15 / 100
4724 ms524292 KiB
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

ll A, B;

void solve_1(void)
{
	ll l, r;
	scanf("%lld %lld", &l, &r);

	ll x = (r-l+1)/B;
	ll g = A/__gcd(B+1, A);

	if (x >= g)
		printf("%lld\n", B*g);
	else
		printf("%lld\n", r-l+1);
}

int main(void)
{
	int n;

	scanf("%d %lld %lld", &n, &A, &B);

	if (n == 1)
	{
		solve_1();
		return 0;
	}

	set<ll> st;
	for (int i = 1; i <= n; i++)
	{
		ll l, r;
		scanf("%lld %lld", &l, &r);

		for (ll j = l; j <= r; j++)
			st.insert(j);
	}

	map<pair<ll, ll>, int> mp;

	int ans = 0;

	for (auto t: st)
	{
		ll x = (t + t/B)%A;
		ll y = t%B;

		if (!mp[{x, y}]) ans++;

		mp[{x, y}] = 1;
	}

	printf("%d\n", ans);
}

Compilation message (stderr)

strange_device.cpp: In function 'void solve_1()':
strange_device.cpp:12:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%lld %lld", &l, &r);
  ~~~~~^~~~~~~~~~~~~~~~~~~~~
strange_device.cpp: In function 'int main()':
strange_device.cpp:27:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %lld %lld", &n, &A, &B);
  ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
strange_device.cpp:39:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%lld %lld", &l, &r);
   ~~~~~^~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...