Submission #396962
Source Code Expand
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
#include "variance.h"
const int MAX_BIT = 1 << 17;
typedef long long ll;
struct BIT {
int n;
ll bits[MAX_BIT + 1];
//BIT() { bzero(bits, sizeof(ll) * (MAX_BIT + 1)); }
void init(int _n) { n = _n; }
ll sum(int x) {
ll s = 0;
while (x > 0) {
s += bits[x];
x -= (x & -x);
}
return s;
}
void add(int x, ll v) {
while (x <= n) {
bits[x] += v;
x += (x & -x);
}
}
};
int N, A[MAX_BIT];
BIT ais, ai2s;
void init(int n, int *a) {
N = n;
ais.init(n);
ai2s.init(n);
for (int i = 0; i < N; i++) {
A[i] = a[i];
ais.add(i + 1, A[i]);
ai2s.add(i + 1, A[i] * A[i]);
}
}
int variance(int i, int j) {
ll suma = ais.sum(j + 1) - ais.sum(i);
ll suma2 = ai2s.sum(j + 1) - ai2s.sum(i);
ll k = j + 1 - i;
//printf("v(%d,%d): suma=%lld, suma2=%lld\n", i, j, suma, suma2);
ll v = (k * suma2 - suma * suma) / (k * k);
return (int)v;
}
void update(int i, int x) {
ll da = x - A[i], da2 = x * x - A[i] * A[i];
A[i]=x;
ais.add(i + 1, da);
ai2s.add(i + 1, da2);
}
Submission Info
Submission Time
2015-05-02 23:51:48+0900
Task
D - 分散 (Variance)
User
tnakao
Language
IOI-Style C++ (GCC 5.4.1)
Score
100
Code Size
1211 Byte
Status
AC
Exec Time
2053 ms
Memory
3472 KB
Compile Error
./grader.cpp: In function ‘int main()’:
./grader.cpp:5: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result
./grader.cpp:8: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result
./grader.cpp:11: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result
./grader.cpp:14: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result
Judge Result
Set Name
Subtask1
Subtask2
Score / Max Score
50 / 50
50 / 50
Status
Set Name
Test Cases
Subtask1
subtask1/1, subtask1/10, subtask1/2, subtask1/3, subtask1/4, subtask1/5, subtask1/6, subtask1/7, subtask1/8, subtask1/9
Subtask2
subtask2/1, subtask2/10, subtask2/2, subtask2/3, subtask2/4, subtask2/5, subtask2/6, subtask2/7, subtask2/8, subtask2/9
Case Name
Status
Exec Time
Memory
subtask1/1
AC
59 ms
1044 KB
subtask1/10
AC
50 ms
1132 KB
subtask1/2
AC
47 ms
1140 KB
subtask1/3
AC
34 ms
1136 KB
subtask1/4
AC
40 ms
1092 KB
subtask1/5
AC
50 ms
1092 KB
subtask1/6
AC
46 ms
1160 KB
subtask1/7
AC
50 ms
1124 KB
subtask1/8
AC
49 ms
1128 KB
subtask1/9
AC
45 ms
1048 KB
subtask2/1
AC
1920 ms
2700 KB
subtask2/10
AC
1676 ms
2028 KB
subtask2/2
AC
299 ms
3472 KB
subtask2/3
AC
1332 ms
3400 KB
subtask2/4
AC
2053 ms
1556 KB
subtask2/5
AC
465 ms
1576 KB
subtask2/6
AC
167 ms
3384 KB
subtask2/7
AC
1992 ms
1556 KB
subtask2/8
AC
773 ms
2836 KB
subtask2/9
AC
172 ms
3376 KB