QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#607066#9255. Python Programcrush_codemaker#AC ✓3ms3888kbC++142.2kb2024-10-03 13:49:402024-10-03 13:49:42

Judging History

你现在查看的是最新测评结果

  • [2024-10-03 13:49:42]
  • 评测
  • 测评结果:AC
  • 用时:3ms
  • 内存:3888kb
  • [2024-10-03 13:49:40]
  • 提交

answer

#include<bits/stdc++.h>
#define int long long
using namespace std;
string s,v1,v2;
int a,b,c;
int d,e,g;
int sd,se;
void ana1()
{
	a=b=c=0;
	int f=1,i;
	for(i=6;s[i]!=',';i++)
	{
		if(s[i]=='-')
		{
			f=-1;
		}
		else if(s[i]>='0'&&s[i]<='9')
		{
			a=10*a+s[i]-'0';
		}
	}
	a=f*a;
	f=1;
	i++;
	for(;s[i]!=','&&s[i]!=')';i++)
	{
		if(s[i]=='-')
		{
			f=-1;
		}
		else if(s[i]>='0'&&s[i]<='9')
		{
			b=10*b+s[i]-'0';
		}
	}
	b=f*b;
	if(s[i]==')')
	{
		c=1;
		return ;
	}
	f=1;
	i++;
	for(;s[i]!=')';i++)
	{
		if(s[i]=='-')
		{
			f=-1;
		}
		else if(s[i]>='0'&&s[i]<='9')
		{
			c=10*c+s[i]-'0';
		}
	}
	c=f*c;
}
void ana2()
{
	d=e=g=0;
	sd=se=0;
	int f=1,i;
	for(i=6;s[i]!=',';i++)
	{
		if(s[i]=='-')
		{
			f=-1;
		}
		else if(s[i]>='0'&&s[i]<='9')
		{
			d=10*d+s[i]-'0';
		}
		else
		{
			sd=1;
		}
	}
	d=f*d;
	f=1;
	i++;
	for(;s[i]!=','&&s[i]!=')';i++)
	{
		if(s[i]=='-')
		{
			f=-1;
		}
		else if(s[i]>='0'&&s[i]<='9')
		{
			e=10*e+s[i]-'0';
		}
		else
		{
			se=1;
		}
	}
	e=f*e;
	if(s[i]==')')
	{
		g=1;
		return ;
	}
	f=1;
	i++;
	for(;s[i]!=')';i++)
	{
		if(s[i]=='-')
		{
			f=-1;
		}
		else if(s[i]>='0'&&s[i]<='9')
		{
			g=10*g+s[i]-'0';
		}
	}
	g=f*g;
}
int cal(int l,int r,int jj)
{
	
	if(jj>0)
	{
		if(l>=r)
		{
			return 0;
		}
		int x=(r-l-1)/jj;
		return  (l+l+x*jj)*(x+1)/2;
	}
	else if(jj<0)
	{
		if(l<=r)
		{
			return 0;
		}
		int x=(l-r-1)/(-jj);
		return (l+l+x*jj)*(x+1)/2;
	}
}
void solve()
{
	cin>>s;
	cin>>s;
	cin>>v1;
	cin>>s;
	cin>>s;
	ana1();
	cin>>s;
	cin>>v2;
	cin>>s;
	cin>>s;
	ana2();
	cin>>s;
	cin>>s;
	int ans=0;
	if(c>0)
	{
		for(int i=a;i<b;i+=c)
		{
			if(sd&&se)
			{
				ans+=0;
			}
			else if(sd&&!se)
			{
				ans+=cal(i,e,g);
			}
			else if(!sd&&se)
			{
				ans+=cal(d,i,g);
			}
			else
			{
				ans+=cal(d,e,g);
			}
		}
	}
	else
	{
		for(int i=a;i>b;i+=c)
		{
			if(sd&&se)
			{
				ans+=0;
			}
			else if(sd&&!se)
			{
				ans+=cal(i,e,g);
			}
			else if(!sd&&se)
			{
				ans+=cal(d,i,g);
			}
			else
			{
				ans+=cal(d,e,g);
			}
		}
	}
	
	printf("%lld\n",ans); 
	
}
signed main()
{
	solve();
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 3888kb

input:

ans=0
for a in range(1,3):
    for b in range(5,1,-2):
        ans+=b
print(ans)

output:

16

result:

ok single line: '16'

Test #2:

score: 0
Accepted
time: 0ms
memory: 3848kb

input:

ans=0
for q in range(100,50,-1):
    for i in range(q,77,20):
        ans+=i
print(ans)

output:

2092

result:

ok single line: '2092'

Test #3:

score: 0
Accepted
time: 3ms
memory: 3840kb

input:

ans=0
for i in range(1,1000000):
    for j in range(i,1,-1):
        ans+=j
print(ans)

output:

166666666665500001

result:

ok single line: '166666666665500001'

Test #4:

score: 0
Accepted
time: 1ms
memory: 3832kb

input:

ans=0
for i in range(31,321983,2):
    for j in range(313,382193):
        ans+=j
print(ans)

output:

11756963404587200

result:

ok single line: '11756963404587200'

Test #5:

score: 0
Accepted
time: 3ms
memory: 3816kb

input:

ans=0
for i in range(1,1000000):
    for j in range(i,114514,-1):
        ans+=j
print(ans)

output:

160610445975856765

result:

ok single line: '160610445975856765'

Extra Test:

score: 0
Extra Test Passed