记录编号 |
87734 |
评测结果 |
AAAAAA |
题目名称 |
[Citric S2] 一道防AK好题 |
最终得分 |
100 |
用户昵称 |
cstdio |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.766 s |
提交时间 |
2014-02-08 22:12:19 |
内存使用 |
12.14 MiB |
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<deque>
using namespace std;
typedef long long ll;
const int SIZEN=50010,SIZEQ=500010;
int N;
ll s[SIZEN]={0};
int Q=0;
ll a[SIZEQ]={0},b[SIZEQ]={0},c[SIZEQ]={0};
deque<ll> ans;
void work(void){
ll nowans,nowx;
nowans=-a[Q];
for(int i=Q-1;i>=1;i--){
ans.push_front(nowans);
nowx=s[nowans];
nowans=-1*(a[i]*(nowans+1)*nowx*nowx+(b[i]+1)*nowans*nowx+c[i]+nowans)/((nowans+1)*nowx*nowx+nowans*nowx+1);
}
for(int i=1;i<Q;i++) printf("%lld\n",ans[i-1]);
}
void read(void){
scanf("%d",&N);
for(int i=1;i<=N;i++) scanf("%lld",&s[i]);
ll na,nb,nc;
while(scanf("%lld%lld%lld",&na,&nb,&nc)!=EOF) Q++,a[Q]=na,b[Q]=nb,c[Q]=nc;
}
int main(){
freopen("hard.in","r",stdin);
freopen("hard.out","w",stdout);
read();
work();
return 0;
}