3 개의 고전적 인 우선 대기 열 문제
3764 단어 대열
, , , , , , , , stl queue , priority_queue 。
Time Limit: 1000ms, Special Time Limit: 2500ms, Memory Limit: 32768KB
Total submit users: 23, Accepted users: 10
Problem 10611 : No special judgement
Problem description
, 。 N 。 L1 ,L2 ,…,LN ( 1≤L1 ,L2 ,…,LN ≤1000 , ) 。 ∑Li (i=1,2,…,N) 。 。
, , 1 1 。 , N=3 , L1 =3,L2 =4,L3 =5 , 12 , , : 12 3+9. , 12 , 9 4+5 , 9 , 21 ; 12 4+8 , 12 , 8 3+5 , 8 , 20 。 , 。
, ?
Input
N(2≤N≤150,000) ;
N , Li (1≤Li ≤1000) 。
Output
, , 。 231 -1 。
Sample Input
4
3
5
7
11
Sample Output
49
Problem Source
2010
, ;
[cpp:firstline[1]] view plaincopyprint?#include
#include
struct cmp
{
bool operator ()(const int &i,const int &j)
{
return i>j;
}
};
using namespace std;
int main()
{
priority_queue,cmp> s;
int n;
while(cin>>n)
{
for(int i=0;i=2)
{
int a,b;
a=s.top();
s.pop();
b=s.top();
s.pop();
s.push(a+b);
//cout<#include
struct cmp
{
bool operator ()(const int &i,const int &j)
{
return i>j;
}
};
using namespace std;
int main()
{
priority_queue,cmp> s;
int n;
while(cin>>n)
{
for(int i=0;i=2)
{
int a,b;
a=s.top();
s.pop();
b=s.top();
s.pop();
s.push(a+b);
//cout<#include
struct cmp
{
bool operator ()(const int &i,const int &j)
{
return i>j;
}
};
using namespace std;
int main()
{
priority_queue,cmp> s;
int n;
while(cin>>n)
{
for(int i=0;i=2)
{
int a,b;
a=s.top();
s.pop();
b=s.top();
s.pop();
s.push(a+b);
//cout<#include
struct cmp
{
bool operator ()(const int &i,const int &j)
{
return i>j;
}
};
using namespace std;
int main()
{
priority_queue,cmp> s;
int n;
while(cin>>n)
{
for(int i=0;i=2)
{
int a,b;
a=s.top();
s.pop();
b=s.top();
s.pop();
s.push(a+b);
//cout<#include
struct cmp
{
bool operator ()(const int &i,const int &j)
{
return i>j;
}
};
using namespace std;
int main()
{
int b[10003];
priority_queue,cmp> s;
int n;
while(cin>>n)
{
for(int i=0;i
#include
struct cmp
{
bool operator ()(const int &i,const int &j)
{
return i>j;
}
};
using namespace std;
int main()
{
int b[10003];
priority_queue,cmp> s;
int n;
while(cin>>n)
{
for(int i=0;i
priority_queue q;
이것 은 크 고 작은 대열 에 따 른 것 이다.
#include
struct cmp
{
bool operator ()(const int &i,const int &j)
{
return i>j;
}
};
priority_queue q;
이것 은 어 릴 때 부터 큰 우선 대열 이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단한 애니메이션 대기열 모델텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.