Result: Accepted
Time: 8ms
Memory: 1120kB
#include<stdio.h>
#include<math.h>
int min(int x,int y){
return x<y?x:y;
}
int max(int x,int y){
return x>y?x:y;
}
int main()
{
int a,b,c,d,e,v1,v2;
while(scanf("%d%d%d%d%d",&a,&b,&c,&d,&e)!=EOF){
v1=0;v2=0;
if(d<e){
v1=a*b*c-(a-2*e)*(c-2*e)*d*2-(a-2*e)*(b-2*e)*d*2-(c-2*e)*(b-2*e)*d*2;
v2=0;
}
else if(2*d>=a||2*d>=b||2*d>=c){
v1=0;
v2=a*b*c-(a-2*e)*(c-2*e)*b-2*e*(c-2*e)*(b-2*e)-2*e*(a-2*e)*(b-2*e);
}
else{
v1=(a-2*d)*(b-2*d)*(c-2*d);
v2=a*b*c-(a-2*e)*(c-2*e)*b-2*e*(c-2*e)*(b-2*e)-2*e*(a-2*e)*(b-2*e);
}
printf("%d\n",max(v1,v2));
}
return 0;
}