Happy holiday!
Indian team decided to name themselves in the following way: SleepyShashwat,AsleepAdhyyan,RestingRajarshi,AwakeAnay.
So we, the Jordanian team decided to join them: Adhami,Wesam,OmarNaseer
Join us and change yours too!
# | User | Rating |
---|---|---|
1 | tourist | 4009 |
2 | jiangly | 3823 |
3 | Benq | 3738 |
4 | Radewoosh | 3633 |
5 | jqdai0815 | 3620 |
6 | orzdevinwang | 3529 |
7 | ecnerwala | 3446 |
8 | Um_nik | 3396 |
9 | ksun48 | 3390 |
10 | gamegame | 3386 |
# | User | Contrib. |
---|---|---|
1 | cry | 167 |
2 | Um_nik | 163 |
3 | maomao90 | 162 |
3 | atcoder_official | 162 |
5 | adamant | 159 |
6 | -is-this-fft- | 158 |
7 | awoo | 157 |
8 | TheScrasse | 154 |
9 | Dominater069 | 153 |
9 | nor | 153 |
Happy holiday!
Indian team decided to name themselves in the following way: SleepyShashwat,AsleepAdhyyan,RestingRajarshi,AwakeAnay.
So we, the Jordanian team decided to join them: Adhami,Wesam,OmarNaseer
Join us and change yours too!
Hello, Codeforces!
As it was already announced, Eid Al-Adha is on 11 August, and it happens to be the last day of IOI 2019 which is held in Azerbaijan. So we invite all Muslims contestants (and leaders) to do the Eid Al-Adha prayer in the IOI 2019 accommodation for contestants, Athletes Village. There will be some desserts, but it would be awesome if you bring some from your country to share it with others. Remember to bring a prayer rug with you. Other contestants are also welcomed. Please comment down with if you are willing attend it. More details will be updated in this blog later. Also we are looking for an Imam, if you are willing to be one just PM me.
Good luck in IOI 2019!
I am experiencing a weird problem that makes my performance in OI contests very bad. I can't identify easy problems, and I usually over-estimate them and ignore them and try in other harder problems, and even when I don't ignore them I don't have the mind to solve a problem rather than collecting points from subtasks.
I have seen this pattern in so many OI contest I participated in, I usually solve some harder problem while the easier one holds my score back, especially if those easy ones requires some greedy approach or some observation. Is there a way to avoid this situation rather than solving hundreds of these problems? I'm totally OK with solving some, but I have to practice on hard problems too. Does anybody experience this situation before? How did you get over it?
I was reading IOI 2018 syllabus, but I was overwhelmed by the system of it. Some common known algorithms were placed under Excluded, but open to discussion
or Excluded
. So I decided to list them for ease of use.
Modular division and inverse elements. Excluded
Matrix multiplication and exponentiation. Excluded
Theory of combinatorial games, e.g., NIM game. Excluded
Randomized algorithms. Excluded
String algorithms and data structures: there is evidence that the inter-reducibility between KMP, Rabin-Karp hashing, suffix arrays/tree, suffix automaton, and Aho-Corasick makes them difficult to separate. Excluded, but open to discussion
Heavy-light decomposition and separator structures for static trees. Excluded, but open to discussion
Two-dimensional tree-like data structures (such as a 2D statically balanced binary tree or a treap of treaps) used for 2D queries. Excluded
Maximum flow. Flow/cut duality theorem. Excluded, but open to discussion
I have some questions though:
Does Excluded, but open to discussion
mean that it can't appear in IOI? What about other OI such as APIO?
Does 7.
mean that 2D Binary Indexed Tree is also excluded?
Could someone list the other side? The topics that are hard but it is allowed in IOI syllabus.
If you ask a Jordanian competitive programmer for a training advice, there is 98% chance that he would recommend you to solve Educational Rounds, ask Hiasat. However, getting your progress in Educational round tracked is hard, so here it comes!
I wrote this script way before, but my friends recently encouraged me to post it. It gets every Educational Round and what you have already solved in it.
import urllib.request, json
import datetime
s = []
w = []
with urllib.request.urlopen("https://mirror.codeforces.com/api/contest.list") as url:
data = json.loads(url.read().decode())
for x in data["result"]:
if x["name"].startswith("Educational"):
w.append(x["name"])
s.append(x["id"])
e = [""]*len(w)
#Edit this line to your handle:
USER_NAME = "CPX"
with urllib.request.urlopen("https://mirror.codeforces.com/api/user.status?handle="+USER_NAME) as url:
data = json.loads(url.read().decode())
for x in data["result"]:
if "verdict" in x and "contestId" in x:
if x['verdict'] == 'OK':
for i in range(0,len(s)):
if x["contestId"] == s[i]:
e[i] += x["problem"]["index"]
break
def contest(solved):
if solved == "":
return solved
ans = [" "]*(ord(solved[-1])-ord("A")+1)
for x in solved:
ans[ord(x)-ord("A")] = x
return "".join(ans)
for i in range(0,len(w)):
print("#" + str(i+1) + " https://mirror.codeforces.com/contest/" + str(s[len(w)-i-1]) + "\t: " + contest("".join(sorted(set(e[len(w)-i-1])))))
Change USER_NAME
to match yours, and it will print it in this format:
#1 https://mirror.codeforces.com/contest/598 : AB DE
#2 https://mirror.codeforces.com/contest/600 : BC E
#3 https://mirror.codeforces.com/contest/609 : ABCDE
#4 https://mirror.codeforces.com/contest/612 : ABCDE
#5 https://mirror.codeforces.com/contest/616 : ABCDE
...
#57 https://mirror.codeforces.com/contest/1096 : ABC
#58 https://mirror.codeforces.com/contest/1101 : ABCDE
#59 https://mirror.codeforces.com/contest/1107 : ABCD
#60 https://mirror.codeforces.com/contest/1117 : ABCDE
#61 https://mirror.codeforces.com/contest/1132 : ABC
You can copy it or print the output to a file. Check my script for Country-Wise standing.
And as always:
Solve Educational!
Since the community asked for it, here it comes!
Edit the code to choose the contest id and the country and it will print the list of participants from the chosen country and their position is the standing. Feel free to edit the code to match your needs.
Since it was requested, I spent around one hour to write this script.
It's ugly, I know. but it's way better in the night.
TL;DR Basically Codeforces judging system is giving away Judgement failed
for people right now.
Codeforces is giving 'Judgement failed' for an unknown reason right now. With some errors like:
Can't perform file operation while checking in K:\invoker-prod\work\codeforces6\56565a12f5d660ef444cf041111a64ff\check-d7f17df0dbf3307880be91ac544ea2df\check[CheckRequest {id='6eb47ab388b34d58f4a7048e8252dfcb', description='44396211 by SuperJava for 702D@66881 on test 14 (tests) uuid=888caf00f7897e0bc5cb2f558da201b2fe93e5c9, submissionFileHashCode=022405af07efc6c5c176ae132fb1eea6fb14d6d9, timestamp=13:56:53.', file='program.cpp', type='cpp.g++17', testType='UUID'}].
And Can't write compiled validator val.exe.
. And Can't perform IO operation.
And many in queue pages. Why is that happening? Is this because the newest server change?
Hello, Codeforces!
Sometimes codeforces sets wrong languages when you test it. Sometimes even changing it does not work.
I was experimenting with C++11 and C++11 kept the default language for a long time!
It has been discussed in this blog Default Submission Language. Yes, I know it is 3 months ago, but it still happening sometimes.
After Installing this script, go to the submission page and you will see 'Save Option'. Note that it uses cookies to save your option.
Installation:
Tampermonkey or Violentmonkey or any other open source userscript manager is required. The source is available in Greasy Fork: Preferred Submission Language
Tampermonkey extension: Tampermonkey
Violentmonkey extension: Chrome | Mozilla Firefox | Opera
Hello, Codeforces!
After I had created a script named 'input copier' Mike added copy button to codeforces. :')
But he missed that he did not add copy button to output so here I am with another script!
This script copies 'Copy' button to output.
Installation:
Tampermonkey or Violentmonkey or any other open source userscript manager is required. The source is available in Greasy Fork: Output Copier
Tampermonkey extension: Tampermonkey
Violentmonkey extension: Chrome | Mozilla Firefox | Opera
UPD: Mike did it again. He added copy button for output. Looks like that this script did not live either :'(
Thank you all!
Are you tired from your big default code? You can fold it easily with this plugin.
Use Ctrl+Shift+;
to fold all code between //fold
and //endfold
and Use Ctrl+Shift+'
to unfold them
How to install it:
Open Command Palette and type "Package Control: Add Repository"
Write "https://github.com/khalilALADHAMi/Fold-This-Code" and press enter
Install it from Package Control
Github: Fold-This-Code
Screenshots:
Before:
After:
Hello, Codeforces!
"Input Copier" by RamiZk is about 6 months ago and he didn't update it . So I decided to write new one with the ability to edit it to suit you!
Any suggestions is very appreciated. If you found a bug please tell me so I can fix it as soon as I can.
How to use it:
Just click on input or output:
It will turn into red when you click it and it will return white after a second.
Installation:
Tampermonkey or Violentmonkey or any other open source userscript manager is required. The source is available in Greasy Fork: Input Copier
Tampermonkey extension: Tampermonkey
Violentmonkey extension: Chrome | Mozilla Firefox | Opera
UPD 1.1.0 : Fixed a bug when you can't copy multiple lines (remember to update it to fix the bug).
UPD 1.2.0 : You can copy output too
UPD 1.2.1 : Fixed firefox bug And Added support for the russian site
UPD: Thanks MikeMirzayanov for destroying the script by adding copy button.
UPD: The script is dead now after copy button update on codeforces. but Mike missed one thing that you can not copy the output. Do you want me to create another script that copies the output with the same style? Please let me know in the comments below
I used 600B - Queries about less or equal elements to test those and used the same code but with change in input and output streams.
Cin And Cout | Scanf And Printf | |
GNU C++ 5.1.0 | 358ms Submission:35214275 | 155ms Submission:35214230 |
GNU C++11 5.1.0 | 343ms Submission:35214311 | 156ms Submission:35214295 |
GNU C++14 6.4.0 | 187ms Submission:35214315 | 186ms Submission:35214352 |
GNU C++17 7.2.0 | 187ms Submission:35214359 | 187ms Submission:35214322 |
Looks like that scanf&printf is almost the same but cin&cout is slower under c++14.
Don't use cin&cout under c++14 to avoid TLE. Otherwise it is as good as scanf&printf and maybe better!
Scanf And Printf Code
#include <bits/stdc++.h>
using namespace std;
int n,m,val;
vector<int> a;
int main() {
scanf("%d%d",&n,&m);
for(int i = 0;i < n;i++){
scanf("%d",&val);
a.push_back(val);
}
sort(a.begin(),a.end());
for(int i = 0;i < m;i++){
int b;
scanf("%d",&b);
printf("%d ",upper_bound(a.begin(),a.end(),b)-a.begin());
}
return 0;
}
Cin And Cout Code
#include <bits/stdc++.h>
using namespace std;
int n,m,val;
vector<int> a;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin >> n >> m;
for(int i = 0;i < n;i++){
cin >> val;
a.push_back(val);
}
sort(a.begin(),a.end());
for(int i = 0;i < m;i++){
int b;
cin >> b;
cout << upper_bound(a.begin(),a.end(),b)-a.begin() << " ";
}
return 0;
}
I was solving 408B and it was easy. I submitted the code and I get WA in test 15. Then I have revised the code and changed the arrays' size from 1000 to 1005 and it worked! In the problem maximum length of both strings is 1000. why did that happen? first submission WA on test 15 : 28983405. second submission Accepted : 28983523
please do not down vote before telling me what is the wrong in my question
UPD: Thanks to fresher96 for his explanation
UPD:scanf format string article in Wikipedia mentions that:
%s
: Scan a character string. The scan terminates at whitespace. A null character is stored at the end of the string, which means that the buffer supplied must be at least one character longer than the specified input length.
Name |
---|