https://www.acmicpc.net/problem/15954



이번 문제는 너무 멍청하게 풀었네요. 속도가 많이 느립니다.


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
34
35
36
37
38
39
40
41
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
 
int main(){
    ios_base::sync_with_stdio(false);
    int N, K;
    int doll[500];
    long double ret = 2147483647;
    
    cin >> N >> K;
    
    for(int i = 0; i < N; i++cin >> doll[i];
 
    for(int i = 0; i < N; i++){
        
        
        for(int k = 0; k + K <= N; k++){
            bool chk = true;
            long double m = 0;
            long double t = 0;
            for(int j = i; j < i+K+k; j++){
                if(i+K+> N) {chk= falsebreak;}
                m+=doll[j];
            }
            m /= K+k;
        
        
            for(int j = i; j < i+K+k; j++){
                if(i+K+> N){chk = falsebreak;}
                t+=((doll[j]-m)*(doll[j]-m));
            }
            t /=K+k;
        
            if(chk)ret = min(ret,sqrt(t));
        }
    }
    cout << fixed; cout.precision(11);
    cout << ret;
}
cs


반응형

+ Recent posts