<style type="text/css"> p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; min-height: 13.0px} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #78492a} p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #d12f1b} p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #ba2da2} p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000} p.p6 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #703daa} p.p7 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #008400} p.p8 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3e1e81} span.s1 {font-variant-ligatures: no-common-ligatures} span.s2 {font-variant-ligatures: no-common-ligatures; color: #d12f1b} span.s3 {font-variant-ligatures: no-common-ligatures; color: #78492a} span.s4 {font-variant-ligatures: no-common-ligatures; color: #000000} span.s5 {font-variant-ligatures: no-common-ligatures; color: #703daa} span.s6 {font-variant-ligatures: no-common-ligatures; color: #ba2da2} span.s7 {font-variant-ligatures: no-common-ligatures; color: #3e1e81} span.s8 {font-variant-ligatures: no-common-ligatures; color: #272ad8} </style>
#include <vector>
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
int main(void){
cout.setf(ios::fixed);
auto n=0, k=0;
cin >> n >> k;
vector<double> doll;
for(int i=0;i<n;i++){
double d;
cin >> d;
doll.push_back(d);
}
double answer = 0;
for(int K=k;K<=n;K++){
for(int j=0;j<n-K+1;j++){
double m = 0.0;
for(int p=0;p<K;p++){
m = m + doll[j+p];
}
m = m/K;
double v=0.0;
for(int p=0;p<K;p++){
v = v + pow(doll[j+p]-m,2);
}
v = v/K;
double result = sqrt(v);
if(answer==0)
answer = abs(result);
else
answer = abs(min(result,answer));
}
}
cout.precision(11);
cout << answer;
return 0;
}
조금 더럽습니다. k이상에 관해서도 고려해서 풀었고 테스트케이스 다맞고 시간초과도 아닌데 계속 틀렸습니다로 나와요 ㅜㅜ 왜그럴까요??
실수오차 때문이 아닐련지..
실수 오차라면 부동소수점 말씀이신가요? 어디 부분을 어떻게 고쳐야할까요 ㅜdouble 자료형때문은 아닌거같고...
누산이 엄청 커져서 double로 저장하면 유효숫자에 문제가 생깁니다. 식을 잘 조작해서 long long으로 계산한 다음에 마지막에 나누기해야합니다.
내가 해봣는데 0 처리못하면 19에서 에러남 ㅋㅋ - dc App
long long으로도 해봤던 거 같은데 뭔가 나누기를 두번씩해서 그런 거 같기도하고....0처리는 입력값에서 애초에 0은 제외 되지 않나요? 답변들 감사드립니다!!