QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#550573 | #9255. Python Program | ucup-team3659# | AC ✓ | 4ms | 4108kb | C++14 | 1.3kb | 2024-09-07 13:29:09 | 2024-09-07 13:29:12 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
vector<string> split(string s,char c){
vector<string> ret;
ret.push_back("");
for(char i :s)
if(i==c)ret.push_back("");
else ret.back()+=i;
return ret;
}
int parseInt(string s){
int flag=1,ret=0;
for(char i :s){
if(i=='-')flag=-1;
else ret=ret*10+i-'0';
}
return ret*flag;
}
struct Loop{
int l,r,delta;
};
Loop parseLoop(string s,char c){
vector<string> params=split(split(split(s,'(')[1],')')[0],',');
Loop ret;
ret.l=params[0][0]==c?0:parseInt(params[0]);
ret.r=parseInt(params[1]);
ret.delta=(int)params.size()==2?1:parseInt(params[2]);
return ret;
}
int main(){
string line[5];
for(int i=0;i<5;i++)getline(cin,line[i]);
char namei=split(line[1],' ')[1][0];
Loop x=parseLoop(line[1],' '),y=parseLoop(line[2],namei);
long long answer=0;
for(int i=x.l;x.delta>0?(i<x.r):(i>x.r);i+=x.delta){
Loop c=y;
if(!c.l)c.l=i;
if(!c.r)c.r=i;
if(!c.delta)c.delta=i;
int cnt=c.delta>0
?(max(c.r-c.l,0)+c.delta-1)/c.delta
:(max(c.l-c.r,0)-c.delta-1)/-c.delta;
answer+=(c.l+c.l+(cnt-1ll)*c.delta)*cnt/2;
}
printf("%lld\n",answer);
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3824kb
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: 3800kb
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: 3684kb
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: 3804kb
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: 4ms
memory: 4108kb
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