fork download
  1. #include <iostream>
  2. using namespace std;
  3. int t;
  4. int main() {
  5. cin>>t;
  6. while(t--){
  7. long long n,k,ans1=0,ans2=0;
  8. bool flag=0;
  9. cin>>n>>k;
  10. for(int i=1;i<=n;i++){
  11. int op,x;
  12. cin>>op>>x;
  13. if(op==1){
  14. ans1+=x*k;
  15. }else if(op==2){
  16. ans2+=x;
  17. }else if(op==3){
  18. if(ans1>=x){
  19. ans1-=x;
  20. }else if(ans1+ans2>=x){
  21. ans1=0;
  22. x-=ans1;
  23. ans2-=x;
  24. }else{
  25. flag=1;
  26. cout<<-1<<"\n";
  27. break;
  28. }
  29. }
  30. }
  31. if(flag==1){
  32. continue;
  33. }
  34. cout<<(ans1-ans1%k)*k+ans2<<"\n";
  35. }
  36. return 0;
  37. }
Success #stdin #stdout 0.01s 5320KB
stdin
2
4 3
1 2
2 2
3 5
3 1
4 3
1 2
3 5
2 3
3 3
stdout
2
0