Основное
 
 
Отправитель Задача Язык Вердикт Время Память Отослано Протест.  
130623552 Дорешивание:
VishalGaurav
1579D - 35 C++17 (GCC 7-32) Неправильный ответ на тесте 2 15 мс 3640 КБ 2021-10-03 10:11:48 2021-10-03 10:11:48
→ Исходный код
#include <iostream>
#include <algorithm>
#include <vector>
#include <queue>
#include <map>
#include <set>
#define mod 1000000007
using namespace std;
typedef long long ll;
int main (){
    int t;cin>>t;
    while(t--){
    vector<pair<ll,ll>> v;
    priority_queue<pair<ll,ll>> pq;
    ll n;cin>>n;
    for(int i=0;i<n;i++){
        ll temp;cin>>temp;
        if(temp == 0)
            continue;
        pq.push({temp,i+1});
    }
    ll ct=0;
    while(pq.size()>1){
        auto a = pq.top();
        pq.pop();
        auto b = pq.top();
        pq.pop();
        if(a.first == b.first){
            ct+=a.first;
            for(int i=0;i<a.first;i++){
                v.push_back({a.second,b.second});
            }
        }else{
            ll temp = b.first;
            ct+=temp;
            pq.push({a.first-b.first,a.second});
            for(int i=0;i<temp;i++){
                v.push_back({a.second,b.second});
            }
        }
    }
    cout<<ct<<"\n";
    for(int i=0;i<v.size();i++){
        cout<<v[i].first<<" "<<v[i].second<<"\n";
    }
    }
}
?
Время: ? ms, память: ? КБ
Вердикт: ?
Ввод
?
Вывод участника
?
Ответ жюри
?
Комментарий чекера
?
Диагностика
?
Показать детали тестирования