fork download
  1. #include<bits/stdc++.h>
  2. using namespace std ;
  3. int main(){
  4. int t ;
  5. cin>>t;
  6. while(t--){
  7. int n;
  8. cin>>n;
  9. // pair.first --> value ; pair.second --> idx
  10. vector<pair<long long,int>> v(n),copy(n);
  11. for(int i = 0 ; i < n ; i++){
  12. cin>>v[i].first;
  13. v[i].second = i+1 ;
  14. }
  15. sort(v.begin(),v.end());
  16. copy = v ;
  17. //copy -- > og vector
  18. // v --> changed vector
  19. for(int i = 1 ; i< n ; i++){
  20. v[i].first += (v[i-1].first - (v[i].first % v[i-1].first));
  21. }
  22. cout<<n<<"\n";
  23. for(int i = 0 ; i< n ; i++){
  24. cout<<v[i].second<<' '<<v[i].first-copy[i].first<<"\n";
  25. }
  26. // 3 6 348 6 12
  27.  
  28. }
  29. }
Success #stdin #stdout 0s 5312KB
stdin
4
4
2 3 5 5
2
4 8
5
3 4 343 5 6
3
31 5 17
stdout
4
1 0
2 1
3 3
4 3
2
1 0
2 4
5
1 0
2 2
4 1
5 6
3 5
3
2 0
3 3
1 9