-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
이렇게 해도 되나요?
22.01.03 22:30 작성 조회수 179
0
간단하게 보여드리기 위해
변수랑 숫자는 문제 그대로를 사용했습니다
arr배열에 1~9까지를 누적 합계를 사용하여
total/m 과 가장 차이가 나지 않는 부분에 도달하면
분리시킬 수 있도록 만들어봤는데
이렇게 해도 되나요?
#include <iostream>
#include <math.h>
using namespace std;
int arr[9]={1,3,6,10,15,21,28,36,45};
int main(){
int m=3;
int totalmax=0;
int total=45;
int lt=0,rt=8;
int d=0;
int min=0;
while(lt<=rt){
int idx=0;
min=21000000;
for(int i=lt;i<=rt;i++){
arr[i]=arr[i]-d;
cout<<i<<"arr:" << arr[i]<<endl;
if(min > abs((total/m) - arr[i])){
min=abs((total/m) - arr[i]);
idx=i;
}
}
d=arr[idx];
cout << "d:"<<d<<endl;
if(totalmax < arr[idx]){
totalmax=arr[idx];
}
lt=idx+1;
}
cout << totalmax;
}
답변을 작성해보세요.
0
답변 1