이 대기열에서 최대 값을 찾고 싶습니다. 어떻게 해결할 수 있습니까?이 대기열에서 최대 값을 찾는 방법은 무엇입니까?
queue<pair<int , int> > q; for(int i = 1; i <= n; i++){ int p; cin >> p; q.push(make_pair(p, i)); }
이 대기열에서 최대 값을 찾고 싶습니다. 어떻게 해결할 수 있습니까?이 대기열에서 최대 값을 찾는 방법은 무엇입니까?
queue<pair<int , int> > q; for(int i = 1; i <= n; i++){ int p; cin >> p; q.push(make_pair(p, i)); }
나는 코멘트를 남겨주세요하지 않을 경우,이 코드를 확인하십시오 내가 제대로 문제를 이해 희망 나는 당신이 필요로하는 무엇이든 할 수 있기를 바랍니다.
queue<pair<int , int> > q;
int max=-1;//you can use INT_MIN in case you're accepting negative numbers too
for(int i = 1; i <= n; i++)
{
int p;
cin >> p;
//if you need to be based ONLY on user input
if(p > max) max = p;
//if you need to be based on BOTH user input and current i
//if(p+i > max) max = p+I;
//if you need to be based on ONLY current i
//if(i > max) max = i;
q.push(make_pair(p, i));
}
감사합니다. U @msoliman –
감사합니다. 형제 님을 도울 수있어서 기뻤습니다. – msoliman
지금까지 무엇을 했습니까? – DFord
'대기열 <쌍> q; for (int i = 1; i <= n; i ++) { \t int p; \t cin >> p; \t q.push (make_pair (p, i)); }' 해당 코드에서 최대 값을 찾으려면 ... –
첫 번째 요소와 동일하게 var max를 정의하십시오. 대기열에서 모든 요소를 하나씩 대기열에 넣거나 대기열에서 제거하고 현재 요소가 최대 값보다 큰 경우 정의한 최대 변수와 비교할 때마다 최대 요소가있는 마지막 최대 값을 만듭니다. – msoliman