QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#550297#9255. Python Programucup-team3282#AC ✓15ms3796kbC++202.5kb2024-09-07 11:21:172024-09-07 11:21:18

Judging History

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

  • [2024-09-07 11:21:18]
  • 评测
  • 测评结果:AC
  • 用时:15ms
  • 内存:3796kb
  • [2024-09-07 11:21:17]
  • 提交

answer

#include<iostream>
#include<cstring>
#include<algorithm>
#include<cstdio>
#include<cstring>
using namespace std;
long long l1,r1,c1,l2,r2,c2;
bool op=0;
string si,sj;
int ddd=-1;
long long ans=0;
long long nxt(long long r,long long l,long long d){
    long long k=(r-l%d)/d+1;
    return k*d+(l%d);
}
long long cnt(long long s,long long t,long long c){
    long long lst=nxt(t-1,s,c)-c;
    int p=(lst-s)/c+1;
    return (lst+s)*p/2;
}
int main(){
    string s;cin>>s;
    cin>>s;
    cin>>si;
    cin>>s;
    cin>>s;
    //range(a,b,c)
    //01234567890
    int i=0;
    op=0;
    for(i=6;s[i]!=',';i++){
        if(s[i]=='-')op=1;else
        l1=l1*10+s[i]-'0';
    }
    if(op)l1=-l1;

    op=0;
    for(i++;s[i]!=','&&s[i]!=')';i++){
        if(s[i]=='-')op=1;else
        r1=r1*10+s[i]-'0';
    }
    if(op)r1=-r1;
    if(s[i]==')')c1=1;
    else{
        i++;
        op=0;
        for(;s[i]!=')';i++){
            if(s[i]=='-')op=1;else
            c1=c1*10+s[i]-'0';
        }        
        if(op)c1=-c1;
    }
    cin>>s;
    cin>>sj;
    cin>>s;
    cin>>s;
    //range(a,b,c)
    //01234567890
    i=6;
    if(s[i]!='-'&&(s[i]<'0'||s[i]>'9')){
        l2=1e18;i++;
    }else{
        op=0;
        for(i=6;s[i]!=',';i++){
            if(s[i]=='-')op=1;else
            l2=l2*10+s[i]-'0';
        }
        if(op)l2=-l2;
    }
    i++;    
    if(s[i]!='-'&&(s[i]<'0'||s[i]>'9')){
        r2=1e18;i++;
    }else{
        op=0;
        for(;s[i]!=','&&s[i]!=')';i++){
            if(s[i]=='-')op=1;else
            r2=r2*10+s[i]-'0';
        }
        if(op)r2=-r2;
    }

    if(s[i]==')')c2=1;
    else{
        i++;    
        if(s[i]!='-'&&(s[i]<'0'||s[i]>'9')){
            c2=1e18;
        }else{
            op=0;
            for(;s[i]!=')';i++){
                if(s[i]=='-')op=1;else
                c2=c2*10+s[i]-'0';
            }
            if(op)c2=-c2;
        }
    }
    cin>>s;
    if(s[5]==si[0])ddd=1;
    else ddd=2;
    if(c1<0){
        c1=-c1;
        r1=nxt(r1,l1,c1);
        swap(r1,l1);
        r1++;
    }
    for(int i=l1;i<r1;i+=c1){
        int f=l2,t=r2,c=c2;
        if(l2==1e18){
            f=i;
        }
        if(r2==1e18){
            t=i;
        }
        if(c2==1e18){
            c=i;
        }
        if(c<0){
            c=-c;
            t=nxt(t,f,c);
            swap(f,t);
            t++;
        }
        if(f>=t)continue;
        ans+=cnt(f,t,c);
    }
    cout<<ans<<endl;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

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

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: 15ms
memory: 3592kb

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: 2ms
memory: 3576kb

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: 10ms
memory: 3576kb

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