Soldier and Badges
5331 단어 IE
제목:
n 개 수 를 입력 하 십시오. 이 n 개 수 를 모두 같 지 않 게 하려 면 추가 만 할 수 있 습 니 다. 출력 은 최소 얼마나 추가 해 야 합 니까?
사례:
1)input
4
1 3 1 4
output
1
2)input
5
1 2 3 2 5
output
2
사고 분석:
삽 공 법 을 이용 하 다.순환 을 최소 화하 다.
먼저 배열 을 정렬 한 다음 에 x 개의 같은 수 를 찾 아 같은 수 를 다른 배열 c 에 존재 합 니 다.이 배열 c 도 정렬 되 어 있 기 때문에 c 보다 큰 x 개의 부족 한 수 를 찾 으 면 됩 니 다.
마지막 으로 모든 배열 b 의 수 를 더 해서 배열 c 의 수 를 빼 면 출력 할 수 있 습 니 다.
원본 코드 는 다음 과 같 습 니 다:
1 #include<iostream>
2 #include<algorithm>
3 #define max 3000
4 using namespace std;
5 int main()
6 {
7 int n,a[max],i,count=0,j=0,k,b[max],c[max],x=0;
8 cin>>n;
9 for(i=0;i<n;i++)
10 cin>>a[i];
11 sort(a,a+n);
12 k=a[0];
13 for(i=0;i<n;i++)
14 if(a[i]==a[i+1])
15 {
16 c[x]=a[i];
17 x++;
18 }
19 while(1)
20 {
21 for(i=j;i<n;i++)
22 if(k==a[i])
23 break;
24 if(i>=n)
25 if(k>c[j])
26 {
27 b[j]=k;
28 j++;
29 }
30 if(j>=x)
31 break;
32 k++;
33 }
34 for(i=0;i<x;i++)
35 count+=b[i]-c[i];
36 cout<<count<<endl;
37 return 0;
38 }
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
KindEditor 4.1.2 ie6 loadScript bugKindEditor 버전 4.1.2 ie6 아래_loadScript 메소드 버그 소스 코드는 다음과 같습니다. 이 세그먼트 코드를 다음 코드로 변경하면 정상적으로 실행됩니다....
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.