fork(2) download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #undef int
  4. int main()
  5. {
  6. #define int long long int
  7. int n,m;
  8. cin>>n>>m;
  9. vector <int> a;int b[n];
  10. map <int,int> g,r,q;
  11. cout<<"g,r,q are degined in map\n";
  12. map<int,int>:: iterator it;
  13. vector<int>:: iterator tr;
  14. for(int i=0;i<n;i++)
  15. {
  16. cin>>b[i];
  17. cout<<b[i]<<" ";
  18. q[b[i]]++;
  19. }
  20. cout<<"\n";
  21. cout<<"1....map->q values\n";
  22. for(it=q.begin();it!=q.end();it++)
  23. {
  24. cout<<it->first<<" "<<it->second<<"\n";
  25. }
  26. cout<<"\n";
  27. for (int i=0;i<n;i++)
  28. {
  29. for(int j=i;j<n;j++)
  30. {
  31. int m1=-1;
  32. //for(int k=i; k<=j; k++)
  33. {
  34. if(b[i]>m1) m1=b[i];
  35. }
  36. a.push_back(m1);
  37. }
  38. }
  39. cout<<"2.........\n";
  40. for(tr=a.begin();tr!=a.end();tr++)
  41. {
  42. cout<<*tr<<" ";
  43. }
  44. cout<<"\n";
  45. sort(a.begin(),a.end());
  46. cout<<"3.........\n";
  47. for(tr=a.begin();tr!=a.end();tr++)
  48. {
  49. cout<<*tr<<" ";
  50. }
  51. cout<<"\n";
  52. for(int i=0;i<a.size();i++)
  53. {
  54. int d=a[i];
  55. g[d]=a.size()-i-q[d];
  56. printf("g[%lld]=%lld q[%lld]=%lld\n",d,g[d],d,q[d]);
  57. if(g[d]<0) g[d]=0;
  58. }
  59. reverse(a.begin(),a.end());
  60. cout<<"4.........\n";
  61. for(tr=a.begin();tr!=a.end();tr++)
  62. {
  63. cout<<*tr<<" ";
  64. }
  65. cout<<"\n";
  66. for(int i=0;i<a.size();i++)
  67. {
  68. int d=a[i];
  69. r[d]=a.size()-i-q[d];
  70. printf("r[%lld]=%lld q[%lld]=%lld\n",d,r[d],d,q[d]);
  71. if(r[d]<0) r[d]=0;
  72. }
  73. string s="";
  74. for(int p=0;p<m;p++)
  75. {
  76. char c,st;
  77. int l;
  78. cin>>c>>l>>st;
  79. if(c=='>')
  80. {
  81. int si=g[l];
  82. printf("si=g[%d]=%d\n",l,g[l]);
  83. if(si%2==0)
  84. {
  85. if(st=='D') s=s+'C';
  86. else s=s+'D';
  87. }
  88. else
  89. {
  90. if(st=='D') s=s+'D';
  91. else s=s+'C';
  92. }
  93. }
  94. else if(c=='<')
  95. {
  96. int si=r[l];
  97.  
  98. if(si%2==0)
  99. {
  100. if(st=='D')
  101. {
  102. s=s+'C';
  103. }
  104. else
  105. {
  106. s=s+'D';
  107. }
  108. }
  109. else
  110. {
  111. if(st=='D')
  112. {
  113. s=s+'D';
  114. }
  115. else
  116. {
  117. s=s+'C';
  118. }
  119. }
  120. }
  121. else
  122. {
  123. int si=q[l];
  124.  
  125. if(si%2==0)
  126. {
  127. if(st=='D')
  128. {
  129. s=s+'C';
  130. }
  131. else
  132. {
  133. s=s+'D';
  134. }
  135. }
  136. else
  137. {
  138. if(st=='D')
  139. {
  140. s=s+'D';
  141. }
  142. else
  143. {
  144. s=s+'C';
  145. }
  146. }
  147. }
  148. }
  149. cout<<s<<endl;
  150. return 0;
  151. }
Success #stdin #stdout 0s 16080KB
stdin
Standard input is empty
stdout
g,r,q are degined in map
140724918406400 
1....map->q values
140724918406400 1

2.........
140724918406400 
3.........
140724918406400 
g[140724918406400]=0 q[140724918406400]=1
4.........
140724918406400 
r[140724918406400]=0 q[140724918406400]=1