#include using namespace std; struct action { int v; int c; }; int main() { //输入+输出重定向 //freopen("../x.in", "r", stdin); //freopen("../x.out", "w", stdout); stack s; int v0, c0, n; string cmd; int v, c; action a; cin >> v0 >> c0 >> n; for (int i = 0; i < n; ++i) { cin >> cmd; if (cmd == "P") { cin >> v >> c; a.c = c; a.v = v; s.push(a); //计算现在的质量和浓度 v0 += a.v; c0 += a.c; //输出计算完的结果 cout << v0 << " " << setiosflags(ios::fixed) << setprecision(5) << 100*c0 * 1.0 / v0 << endl; } if (cmd == "Z") { if (!s.empty()) { a = s.top(); //计算现在的质量和浓度 v0 -= a.v; c0 -= a.c; //输出计算完的结果 cout << v0 << " " << setiosflags(ios::fixed) << setprecision(5) << 100*c0 * 1.0 / v0 << endl; s.pop(); } } } //关闭文件 //fclose(stdin); //fclose(stdout); return 0; }