fork(1) download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. bool comp(vector <int> &x, vector <int> y){
  5. return x[1]<y[1];
  6. }
  7.  
  8. int findScore(int n, int k, int a[], int b[]){
  9. vector< vector <int> > arr;
  10. for(int i=0;i<n;i++){
  11. vector <int> v;
  12. v.push_back(b[i]);
  13. v.push_back(a[i]);
  14. arr.push_back(v);
  15. }
  16. sort(arr.begin(), arr.end(), comp);
  17. for (int i = 0; i < arr.size(); i++)
  18. {
  19. for (int j = 0; j < arr[i].size(); j++)
  20. {
  21. cout << arr[i][j] << " ";
  22. }
  23. cout << endl;
  24. }
  25. int diversity = 0, experience=0;
  26.  
  27.  
  28. for(int i=n-1;i>=k;i--){
  29. cout<<arr[i][0]<<" "<<arr[0][i]<<endl;
  30. experience += arr[i][0];
  31. }
  32. // cout<<experience;
  33. for(int i=k-1;i>n;i--){
  34. // cout<<
  35. if(arr[i][1] == arr[i+1][i])
  36. {
  37. diversity++;
  38. }
  39. }
  40.  
  41. return (diversity*diversity)+experience;
  42. }
  43.  
  44. int main() {
  45. // your code goes here
  46. int n,k;
  47. cin>>n>>k;
  48. int a[n], b[n];
  49. for(int i=0;i<n;i++){
  50. cin>>a[i];
  51. }
  52. for(int i=0;i<n;i++){
  53. cin>>b[i];
  54. }
  55.  
  56. int result = findScore(n,k,a,b);
  57. // cout<<result<<endl;
  58. return 0;
  59. }
Success #stdin #stdout 0s 5484KB
stdin
5
3
1
1
2
2
3
9
7
6
5
1
stdout
9 1 
7 1 
6 2 
5 2 
1 3 
1 0
5 0