-
Notifications
You must be signed in to change notification settings - Fork 0
/
Alien.cpp
33 lines (33 loc) · 893 Bytes
/
Alien.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// Ivan Carvalho
// Solution to https://www.spoj.com/problems/ALIEN/
#include <algorithm>
#include <cstdio>
#include <deque>
using namespace std;
typedef long long ll;
int main() {
ll TC;
scanf("%lld", &TC);
while (TC--) {
ll n, m, soma = 0, estacoes = 0, pessoas = 0;
deque<ll> janela;
scanf("%lld %lld", &n, &m);
while (n--) {
ll davez;
scanf("%lld", &davez);
janela.push_back(davez);
soma += davez;
while (soma > m) {
soma -= janela.front();
janela.pop_front();
}
if (janela.size() > estacoes ||
(janela.size() == estacoes && soma < pessoas)) {
pessoas = soma;
estacoes = janela.size();
}
}
printf("%lld %lld\n", pessoas, estacoes);
}
return 0;
}