fork download
  1. #include <bits/stdc++.h>
  2. #define int long long
  3. using namespace std;
  4. int l,n,m,arr[100005],brr[100005],a[100005],b[100005],ans;
  5. signed main(){
  6. cin>>l>>n>>m;
  7. for(int i=1;i<=n;i++){
  8. cin>>arr[i]>>brr[i];
  9. }
  10. for(int i=1;i<=m;i++){
  11. cin>>a[i]>>b[i];
  12. }
  13. for(int i=1,j=1;i<=n && j<=m;){
  14. if(arr[i]==a[j]){
  15. ans+=min(brr[i],b[j]);
  16. }
  17. brr[i]-=min(brr[i],b[j]);
  18. b[j]-=min(brr[i],b[j]);
  19. cout<<arr[i]<<" "<<a[j]<<"\n";
  20. if(brr[i]==0){
  21. i++;
  22. }
  23. if(b[j]==0){
  24. j++;
  25. }
  26. }
  27. cout<<ans;
  28. }
Success #stdin #stdout 0s 5696KB
stdin
8 4 3
1 2
3 2
2 3
3 1
1 4
2 1
3 3
stdout
1 1
3 1
2 1
3 1
2