Submission #16276017
Source Code Expand
#include<cstdio>
#include<vector>
int tot=3;
int add(int i,int j){
int k=tot++;
printf("+ %d %d %d\n",i,j,k);
return k;
}
int cmp(int i,int j){
int k=tot++;
printf("< %d %d %d\n",i,j,k);
return k;
}
int pw[33];
std::vector<int>bin(int x){
std::vector<int>res;
for(int i=30;i--;)res.push_back(0);
int sum=2;
x=add(x,*pw);
for(int i=30;i--;){
int tmp=res[i]=cmp(add(sum,pw[i]),x);
for(int j=i;j--;)tmp=add(tmp,tmp);
sum=add(sum,tmp);
}
return res;
}
int mul01(int x,int y){
return cmp(cmp(x,*pw),y);
}
int main(){
puts("3900");
pw[0]=cmp(2,add(0,1));
for(int i=1;i<30;i++)pw[i]=add(pw[i-1],pw[i-1]);
std::vector<int>A=bin(0),B=bin(1),C;
for(int i=0;i<A.size();i++){
for(int j=0;j<B.size();j++){
while(i+j>=C.size())C.push_back(2);
C[i+j]=add(C[i+j],mul01(A[i],B[j]));
}
}
for(int i=C.size()-1;i--;)C[i]=add(C[i],add(C[i+1],C[i+1]));
printf("+ %d %d %d\n",2,C[0],2);
}
Submission Info
Submission Time |
|
Task |
E - Product Simulation |
User |
mn3twe |
Language |
C++ (Clang 10.0.0) |
Score |
1800 |
Code Size |
945 Byte |
Status |
AC |
Exec Time |
10 ms |
Memory |
3096 KiB |
Judge Result
Set Name |
Sample |
Subtask1 |
Subtask2 |
Score / Max Score |
0 / 0 |
800 / 800 |
1000 / 1000 |
Status |
|
|
|
Set Name |
Test Cases |
Sample |
s1.txt |
Subtask1 |
001.txt |
Subtask2 |
101.txt, 102.txt, 103.txt, 104.txt |
Case Name |
Status |
Exec Time |
Memory |
001.txt |
AC |
10 ms |
2920 KiB |
101.txt |
AC |
8 ms |
3012 KiB |
102.txt |
AC |
5 ms |
3092 KiB |
103.txt |
AC |
3 ms |
3068 KiB |
104.txt |
AC |
2 ms |
3092 KiB |
s1.txt |
AC |
8 ms |
3096 KiB |