Решение задачи Рома и браузер с Codeforces

Без пояснения   Просмотров: 17


Рома проснулся утром и, открыв браузер, увидел, что там открыто n вкладок, пронумерованных от 1 до n. Все вкладки делятся на два типа: вкладки с информацией об экзамене и вкладки с социальными сетями. Рома решил, что вкладок открыто слишком много, поэтому часть из них он хочет закрыть.

Рома хочет закрыть каждую k-ю (2≤k≤n−1) вкладку и после этого определиться, чем же он хочет заниматься — отдыхать или готовиться к экзамену. Формально, Рома выберет одну вкладку, пусть ее номер равен b, и закроет все вкладки с номерами c=b+i⋅k такими, что 1≤c≤n, а i — целое число (положительное, отрицательное или ноль).

Например, если k=3, n=14 и Рома выберет b=8, то он закроет вкладки с номерами 2, 5, 8, 11, 14.

После закрытия вкладок он посчитает, сколько осталось вкладок с информацией о экзамене, пусть это число равно e, и сколько вкладок осталось с социальными сетями (s). Помогите Роме вычислить максимально возможный модуль разности |e−s|, чтобы ему было проще определиться, чем же заняться дальше.

Код

#include<bits/stdc++.h>
using namespace std;
#define maxn 120
int a[maxn];
int main(){
	int n, k;
	cin >> n >> k;
	for(int i = 1; i <= n; i += 1) cin >> a[i];
	int ans = 0;
	for(int b = 1; b <= n; b += 1){
		int pans = 0;
		for(int i = 1; i <= n; i += 1) if((b - i) % k) pans += a[i];
		ans = max(ans, abs(pans));
	}
	cout << ans;
} 

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться