QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#660711#9255. Python Programlllei#AC ✓3ms3960kbC++202.3kb2024-10-20 12:51:352024-10-20 12:51:36

Judging History

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

  • [2024-10-20 12:51:36]
  • 评测
  • 测评结果:AC
  • 用时:3ms
  • 内存:3960kb
  • [2024-10-20 12:51:35]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e2+10;
char s[maxn];
char a,b;
long long sum(int l,int r,int c)
{
    if(l<r&&c>0)
    {
        r--;
        int s=l,m=(r-l)/c*c+l;
        int num=(r-l)/c+1;
        return (s+m)*1LL*num/2;
    }
    else if(l>r&&c<0)
    {
        r++;
        c=-c;
        int s=l,m=l-(l-r)/c*c;
        int num=(l-r)/c+1;
        return (s+m)*1LL*num/2;
    }
    else return 0;
}
int l1,r1,l2,r2,c1,c2;
int main()
{
    scanf("%s",s);
    getchar();
    scanf(" for %c in range(%d,%d",&a,&l1,&r1);
    char ch=getchar();
    if(ch==')')c1=1;
    else 
    {
        int flag=1;
        ch=getchar();
        if(ch=='-')flag=-1,ch=getchar();
        c1=ch-'0';
        ch=getchar();
        while(ch!=')')
        {
            c1=c1*10+ch-'0';
            ch=getchar();
        }
        c1*=flag;
    }
    // cout<<ch<<'\n';
    ch = getchar();
    ch = getchar();
    int res = scanf(" for %c in range(",&b);
    ch=getchar();
    if(ch>'9'||ch<'0')l2=-1,ch=getchar();
    else 
    {
        l2=ch-'0';
        ch=getchar();
        while(ch!=',')
        {
            l2=l2*10+ch-'0';
            ch=getchar();
        }
    }
    ch=getchar();
    if(ch>'9'||ch<'0')r2=-1,ch=getchar();
    else 
    {
        r2=ch-'0';
        ch=getchar();
        while(ch!=','&&ch!=')')
        {
            r2=r2*10+ch-'0';
            ch=getchar();
        }
    }
    ch=getchar();
    if(ch==':')c2=1;
    else 
    {
        if((ch>'9'||ch<'0')&&ch!='-')c2=0;
        else 
        {
             int flag=1;
            if(ch=='-')flag=-1,ch=getchar();
            c2=ch-'0';
            ch=getchar();
            while(ch!=')')
            {
                c2=c2*10+ch-'0';
                ch=getchar();
            }
            c2=c2*flag;
        } 
    }
    if(l1>r1)
    {
        long long ans=0;
        for(int i=l1;i>r1;i+=c1)ans+=sum(l2==-1?i:l2,r2==-1?i:r2,c2==0?i:c2);
        printf("%lld\n",ans);
    }
    else 
    {
        long long ans=0;
        for(int i=l1;i<r1;i+=c1)ans+=sum(l2==-1?i:l2,r2==-1?i:r2,c2==0?i:c2);
        printf("%lld\n",ans);
    }
}
/*
ans=0
for a in range(1,3):
    for b in range(5,1,-2):
        ans+=b
print(ans)
*/

詳細信息

Test #1:

score: 100
Accepted
time: 0ms
memory: 3960kb

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: 3924kb

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: 0ms
memory: 3900kb

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: 3764kb

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: 3764kb

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