Pagini recente »
Borderou de evaluare (job #204564)
|
Clasament sim_info5
|
Clasament t_x_1
|
Borderou de evaluare (job #353142)
|
Cod sursă (job #675227)
Cod sursă (job
#675227)
#include <iostream>
#include <fstream>
#include <vector>
#include <map>
#include <unordered_map>
#include <set>
#include <queue>
#include <stack>
#include <cmath>
#include <cstring>
#include <algorithm>
#include <bitset>
#include <cctype>
using namespace std;
ifstream in("bizar.in");
ofstream out("bizar.out");
int a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,S,t,T,x,y,z,ok,nr,C,poz;
char s[100009];
int st[100009];
int main()
{
in.getline(s,100005);
stack<int>par;
n=strlen(s);
nr=-1;
for(i=0;i<n;i++){
if(isdigit(s[i])){
st[++nr]=atol(s+i);
while(isdigit(s[i])){
i++;
}
i--;
}
if(s[i]=='('){
par.push(nr+1);
}
if(s[i]==')'){
h=par.top();
r=h-1;
l=nr-h+1;
if(l>=st[r]) {q=l%st[r];}
else {q=st[r]%l;}
if(q==0) {q=l;}
x=st[h+q-1];
st[h-1]=x;
nr=h-1;
par.pop();
}
}
out<<st[0];
return 0;
}