CSES - Harjoituskisa 7.1.2018 - Results
Submission details
Task:Keskiarvot
Sender:Olli
Submission time:2018-01-07 20:46:15 +0200
Language:C++
Status:READY
Result:29
Feedback
groupverdictscore
#1ACCEPTED12
#2ACCEPTED17
#30
Test results
testverdicttimegroup
#1ACCEPTED0.05 s1details
#2ACCEPTED0.05 s1details
#3ACCEPTED0.04 s1details
#4ACCEPTED0.05 s1details
#5ACCEPTED0.04 s1details
#6ACCEPTED0.10 s2details
#7ACCEPTED0.09 s2details
#8ACCEPTED0.08 s2details
#9ACCEPTED0.07 s2details
#10ACCEPTED0.10 s2details
#110.19 s3details
#120.23 s3details
#130.19 s3details
#140.19 s3details
#150.21 s3details

Code

#include <iostream>

using namespace std;

typedef long long ll;

const int N = 5050;

ll sums[N];
ll table[N];

ll sum(int a, int b) {
	return sums[b] - sums[a-1];
}


int main() {
	int n;
	cin >> n;	
	for(int i = 1; i <= n; ++i) {
		cin >> table[i];
	}

	for(int i = 1; i <= n; ++i) {
		sums[i] = sums[i-1] + table[i];
	}

	for(int end = 1; end <= n; ++end) {
		ll best = sums[end];
		ll bestDivisor = end;
		for(int start = 2; start <= end; ++start) {
			ll curSum = sum(start, end);
			ll curDivisor = end - start + 1;
			if(curSum * bestDivisor > best*curDivisor) {
				best = curSum;
				bestDivisor = curDivisor;
			}
		}
		cout << bestDivisor << " ";
	}
	cout << "\n";

}

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
100
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

Test 2

Group: 1

Verdict: ACCEPTED

input
100
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

Test 3

Group: 1

Verdict: ACCEPTED

input
100
1000000 999999 999998 999997 9...

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

Test 4

Group: 1

Verdict: ACCEPTED

input
100
4 1 6 9 4 793899 5 5 8 7 5 4 7...

correct output
1 2 1 1 2 1 2 3 4 5 6 7 8 9 10...

user output
1 2 1 1 2 1 2 3 4 5 6 7 8 9 10...

Test 5

Group: 1

Verdict: ACCEPTED

input
100
442147 824215 62008 513740 542...

correct output
1 1 2 1 1 3 1 2 6 10 11 12 1 1...

user output
1 1 2 1 1 3 1 2 6 10 11 12 1 1...

Test 6

Group: 2

Verdict: ACCEPTED

input
5000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

Test 7

Group: 2

Verdict: ACCEPTED

input
5000
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

Test 8

Group: 2

Verdict: ACCEPTED

input
5000
1000000 999999 999998 999997 9...

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

Test 9

Group: 2

Verdict: ACCEPTED

input
5000
7 5 6 1 9 1 1 6 10 8 7 4 7 1 1...

correct output
1 2 3 4 1 2 7 1 1 2 3 4 5 6 1 ...

user output
1 2 3 4 1 2 7 1 1 2 3 4 5 6 1 ...

Test 10

Group: 2

Verdict: ACCEPTED

input
5000
236071 202283 94200 149202 642...

correct output
1 2 3 4 1 1 2 3 5 1 2 1 9 10 1...

user output
1 2 3 4 1 1 2 3 5 1 2 1 9 10 1...

Test 11

Group: 3

Verdict:

input
100000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
(empty)

Test 12

Group: 3

Verdict:

input
100000
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
(empty)

Test 13

Group: 3

Verdict:

input
100000
1000000 999999 999998 999997 9...

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
(empty)

Test 14

Group: 3

Verdict:

input
100000
4 10 3 2 235575 7 374394 4 4 5...

correct output
1 1 2 3 1 2 1 2 3 6 7 8 9 10 1...

user output
(empty)

Test 15

Group: 3

Verdict:

input
100000
243549 902542 256118 941342 41...

correct output
1 1 2 1 2 5 6 1 8 9 1 2 12 13 ...

user output
(empty)